Questions tagged «vector»

向量是一维数组:它包含可以使用整数索引访问的组件。在某些语言中,矢量的大小可以根据需要增大或缩小,以适应创建矢量后添加和删除项目的需要。使用“矢量图形”进行图形显示。

2
按位置从data.table中提取列作为向量
如何从data.table的列中提取列作为矢量?以下是我尝试过的一些代码片段: DT<-data.table(x=c(1,2),y=c(3,4),z=c(5,6)) DT # x y z #1: 1 3 5 #2: 2 4 6 我想使用列位置获取此输出 DT$y #[1] 3 4 is.vector(DT$y) #[1] TRUE 使用列位置获取此输出的其他方法 DT[,y] #[1] 3 4 is.vector(DT[,y]) #[1] TRUE 这不给向量 DT[,2,with=FALSE] # y #1: 3 #2: 4 is.vector(DT[,2,with=FALSE]) #[1] FALSE 那两个不起作用: DT$noquote(names(DT)[2]) # Doesn't work #Error: attempt to …

5
结构初始化向量
我想知道如何使用该push_back方法将值添加到结构向量中 struct subject { string name; int marks; int credits; }; vector<subject> sub; 那么,现在如何向其中添加元素? 我有初始化字符串名称的函数(以它的主题名称为准) void setName(string s1, string s2, ...... string s6) { // how can i set name too sub[0].name= "english", sub[1].name = "math" etc sub[0].name = s1 // gives segmentation fault; so how do I use push_back …
76 c++  vector  struct  push-back 

4
如何将二进制文件读入无符号字符的向量
最近我一直在问编写一个函数读取二进制文件到std::vector<BYTE>哪里BYTE是unsigned char。我很快就想到了这样的东西: #include <fstream> #include <vector> typedef unsigned char BYTE; std::vector<BYTE> readFile(const char* filename) { // open the file: std::streampos fileSize; std::ifstream file(filename, std::ios::binary); // get its size: file.seekg(0, std::ios::end); fileSize = file.tellg(); file.seekg(0, std::ios::beg); // read the data: std::vector<BYTE> fileData(fileSize); file.read((char*) &fileData[0], fileSize); return fileData; } 这似乎不必要地复杂,并且char*在调用时被迫使用的显式强制转换file.read不会使我对此有所改善。 另一种选择是使用std::istreambuf_iterator: std::vector<BYTE> …


3
在vector <double>上使用std :: max_element
我正在尝试使用std::min_element和std::max_element返回double的向量中的min和max元素。我的编译器不喜欢我当前尝试使用它们的方式,并且我不理解错误消息。我当然可以编写自己的过程来找到最小/最大,但是我想了解如何使用这些函数。 #include &lt;vector&gt; #include &lt;algorithm&gt; using namespace std; int main(int argc, char** argv) { double cLower, cUpper; vector&lt;double&gt; C; // code to insert values in C not shown here cLower = min_element(C.begin(), C.end()); cUpper = max_element(C.begin(), C.end()); return 0; } 这是编译器错误: ../MIXD.cpp:84: error: cannot convert '__gnu_cxx::__normal_iterator&lt;double*, std::vector&lt;double, std::allocator&lt;double&gt; &gt; &gt;' …
75 c++  vector  max  min 

10
矢量擦除迭代器
我有这个代码: int main() { vector&lt;int&gt; res; res.push_back(1); vector&lt;int&gt;::iterator it = res.begin(); for( ; it != res.end(); it++) { it = res.erase(it); //if(it == res.end()) // return 0; } } “一个随机访问迭代器,指向在函数调用删除的最后一个元素之后的元素的新位置,如果操作删除了序列中的最后一个元素,则该向量为向量结束。” 此代码崩溃,但是如果我使用该if(it == res.end())部分然后返回,则可以正常工作。怎么来的?for循环是否缓存,res.end()以便不等于运算符失败?
75 c++  vector  iterator 

11
3D矢量旋转?
我有两个向量作为Python列表和一个角度。例如: v = [3,5,0] axis = [4,4,1] theta = 1.2 #radian 围绕轴旋转v向量时,最佳/最简单的方法是获得结果向量? 对于轴向量所指向的观察者,旋转应该看起来是逆时针方向。这称为右手法则

13
如何在Android API下21中使用矢量可绘制对象?
我正在开发一个Android项目,并且选择&lt;vector&gt;显示图标是因为它具有适应性和动态性,但是我只能在运行Android且具有API 21或更高版本的设备上运行此应用程序。我的问题是如何&lt;vector&gt;在较低的Android版本(例如API 14)上使用。谢谢! &lt;!-- drawable/ic_android_debug_bridge.xmlxml --&gt; &lt;vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="48dp" android:width="48dp" android:viewportWidth="24" android:viewportHeight="24"&gt; &lt;path android:fillColor="@color/primaryColorDark" android:pathData="M15,9A1,1 0 0,1 14,8A1,1 0 0,1 15,7A1,1 0 0,1 16,8A1,1 `0 0,1 15,9M9,9A1,1 0 0,1 8,8A1,1 0 0,1 9,7A1,1 0 0,1 10,8A1,1 0 0,1 9,9M16.12,4.37L18.22,2.27L17.4,1.44L15.09,3.75C14.16,3.28 13.11,3 12,3C10.88,3 9.84,3.28 8.91,3.75L6.6,1.44L5.78,2.27L7.88,4.37C6.14,5.64 5,7.68 5,10V11H19V10C19,7.68 17.86,5.64 16.12,4.37M5,16C5,19.86 8.13,23 12,23A7,7 0 …

12
Python:区分行向量和列向量
有没有一种很好的方法来区分python中的行向量和列向量?到目前为止,我正在使用numpy和scipy,到目前为止,我看到的是,如果我要给一个向量,说 from numpy import * Vector = array([1,2,3]) 他们无法说天气,我的意思是行或列向量。此外: array([1,2,3]) == array([1,2,3]).transpose() True 在“现实世界”中哪一个根本是不正确的。我意识到上述模块中向量上的大多数功能都不需要区分。例如,outer(a,b)或者a.dot(b)我想为自己的方便而与众不同。
73 python  arrays  numpy  vector  scipy 

3
将数据帧转换为向量(按行)
我有一个带有这样的数字条目的数据框 test &lt;- data.frame(x = c(26, 21, 20), y = c(34, 29, 28)) 如何获得以下向量? &gt; 26, 34, 21, 29, 20, 28 我可以使用以下方法获得它,但我想应该有一种更优雅的方法 X &lt;- test[1, ] for (i in 2:dim(test)[ 1 ]){ X &lt;- cbind(X, test[i, ]) }
72 r  dataframe  vector  r-faq 

6
将矩阵的行乘以矢量?
我有一个matrix包含25列和23行的数字,以及一个长度为25的向量。如何在不使用a的情况下将矩阵的每一行乘以向量for循环的? 结果应该是25x23的矩阵(与输入大小相同),但是每一行都已乘以向量。 从@hatmatrix的答案中添加了可复制的示例: matrix &lt;- matrix(rep(1:3,each=5),nrow=3,ncol=5,byrow=TRUE) [,1] [,2] [,3] [,4] [,5] [1,] 1 1 1 1 1 [2,] 2 2 2 2 2 [3,] 3 3 3 3 3 vector &lt;- 1:5 所需的输出: [,1] [,2] [,3] [,4] [,5] [1,] 1 2 3 4 5 [2,] 2 4 6 8 10 …

3
如何使用迭代器?
我正在尝试计算两点之间的距离。我在C ++中将两个点存储在向量中:(0,0)和(1,1)。 我应该得到结果 0 1.4 1.4 0 但是我得到的实际结果是 0 1 -1 0 我认为在向量中使用迭代器的方式存在问题。我该如何解决这个问题? 我在下面发布了代码。 typedef struct point { float x; float y; } point; float distance(point *p1, point *p2) { return sqrt((p1-&gt;x - p2-&gt;x)*(p1-&gt;x - p2-&gt;x) + (p1-&gt;y - p2-&gt;y)*(p1-&gt;y - p2-&gt;y)); } int main() { vector &lt;point&gt; po; point …

10
使用std :: vector作为原始内存的视图
我正在使用一个外部库,该库有时会给我一个指向整数和大小数组的原始指针。 现在,我想std::vector用来访问和修改这些值,而不是使用原始指针访问它们。 这是一个解释这一点的人工示例: size_t size = 0; int * data = get_data_from_library(size); // raw data from library {5,3,2,1,4}, size gets filled in std::vector&lt;int&gt; v = ????; // pseudo vector to be used to access the raw data std::sort(v.begin(), v.end()); // sort raw data in place for (int i = 0; …
71 c++  c++11  vector  stdvector 

8
如果递增等于STL容器的最终迭代器的迭代器会发生什么
如果将指向向量的最后一个元素的迭代器加2,该怎么办?在这个问题中,如何通过2个元素将迭代器调整为STL容器,提供了两种不同的方法: 要么使用一种形式的算术运算符-+ = 2或++两次 或使用std :: advance() 当迭代器指向STL容器的最后一个元素或其他元素时,我已经用VC ++ 7测试了它们的边缘情况: vector&lt;int&gt; vec; vec.push_back( 1 ); vec.push_back( 2 ); vector&lt;int&gt;::iterator it = vec.begin(); advance( it, 2 ); bool isAtEnd = it == vec.end(); // true it++; // or advance( it, 1 ); - doesn't matter isAtEnd = it == vec.end(); //false …
70 c++  stl  vector  iterator 

7
删除循环内向量的元素
我知道也有与此类似的问题,但是我没有设法借助他们的帮助在我的代码中找到出路。我只想通过在循环内检查此元素的属性来删除/删除向量的元素。我怎样才能做到这一点?我尝试了以下代码,但收到了模糊的错误消息: “播放器=”功能在“播放器”中不可用。 for (vector&lt;Player&gt;::iterator it = allPlayers.begin(); it != allPlayers.end(); it++) { if(it-&gt;getpMoney()&lt;=0) it = allPlayers.erase(it); else ++it; } 我该怎么办? 更新:您是否认为带有指针成员的问题vector :: erase属于同一问题?因此,我需要一个赋值运算符吗?为什么?
70 c++  vector  erase 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.