Questions tagged «vector»

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

23
删除重复项和对向量进行排序的最有效方法是什么?
我需要使用可能包含很多元素的C ++向量,删除重复项并对其进行排序。 我目前有以下代码,但无法正常工作。 vec.erase( std::unique(vec.begin(), vec.end()), vec.end()); std::sort(vec.begin(), vec.end()); 如何正确执行此操作? 另外,先擦除重复项(类似于上面的代码)还是先执行排序更快?如果我确实先执行排序,是否保证std::unique执行后仍保持排序? 还是有另一种(也许更有效)的方式来完成所有这些工作?
274 c++  sorting  vector  stl  duplicates 

10
如何总结C ++向量的元素?
找到元素中所有元素之和的好方法是什么std::vector什么? 假设我有一个std::vector<int> vector包含几个元素的向量。现在,我想找到所有元素的总和。相同的不同方式有哪些?
240 c++  stl  vector 

16
STL中的向量与列表
我在有效STL中注意到 向量是默认情况下应使用的序列类型。 什么意思 似乎无视效率vector无能为力。 有人可以给我提供vector一个不可行的方案,但list必须使用的方案吗?
238 c++  list  vector  stl 

1
启用C ++ 11时std :: vector性能回归
当启用C ++ 11时,我在一个小的C ++代码段中发现了有趣的性能下降: #include <vector> struct Item { int a; int b; }; int main() { const std::size_t num_items = 10000000; std::vector<Item> container; container.reserve(num_items); for (std::size_t i = 0; i < num_items; ++i) { container.push_back(Item()); } return 0; } 使用g ++(GCC)4.8.2 20131219(预发行版)和C ++ 03,我得到: milian:/tmp$ g++ -O3 main.cpp && …
235 c++  performance  gcc  c++11  vector 

20
将向量拆分为R中的块
我必须在R中将向量拆分为n个大小相等的块。我找不到任何基本函数来执行此操作。谷歌也没有让我到任何地方。所以这就是我想出的,希望它能对某人有所帮助。 x <- 1:10 n <- 3 chunk <- function(x,n) split(x, factor(sort(rank(x)%%n))) chunk(x,n) $`0` [1] 1 2 3 $`1` [1] 4 5 6 7 $`2` [1] 8 9 10 任何意见,建议或改进都将受到欢迎和赞赏。 塞巴斯蒂安欢呼
227 r  vector 

22
是std :: vector比纯数组慢得多吗?
我一直认为这std::vector是“作为数组实现” 的一般常识,等等等等。今天我去测试了它,但事实并非如此: 以下是一些测试结果: UseArray completed in 2.619 seconds UseVector completed in 9.284 seconds UseVectorPushBack completed in 14.669 seconds The whole thing completed in 26.591 seconds 大约慢了3到4倍!对于“ vector可能会慢一些纳秒”的注释并没有真正的道理。 和我使用的代码: #include <cstdlib> #include <vector> #include <iostream> #include <string> #include <boost/date_time/posix_time/ptime.hpp> #include <boost/date_time/microsec_time_clock.hpp> class TestTimer { public: TestTimer(const std::string & name) : name(name), …
212 c++  arrays  performance  stl  vector 



5
C ++ STL向量:从索引获取迭代器?
因此,我编写了一堆代码通过index []访问stl向量中的元素,但是现在我只需要复制向量的一部分即可。看起来vector.insert(pos, first, last)是我想要的功能...除了我只有第一个和最后一个作为整数。有什么好方法可以让我迭代这些值?
200 c++  stl  vector  iterator 

6
什么时候应该在Scala中选择Vector?
似乎Vector对Scala收藏晚会来得太晚了,所有有影响力的博客文章都已经离开了。 在Java ArrayList中,默认集合是-我可能会使用,LinkedList但仅当我考虑了算法并足够谨慎地优化时才使用。在Scala中,我应该将其Vector用作默认值Seq,还是尝试找出List实际上更合适的时间?

13
您不应该继承std :: vector
好的,这确实很难让人承认,但是目前我确实有很强的诱惑力可以继承std::vector。 我需要大约10种针对矢量的自定义算法,并且希望它们直接成为矢量的成员。但是我自然也希望拥有的其余std::vector界面。好吧,作为守法公民,我的第一个想法是std::vectorMyVector班级成员。但是然后我将不得不手动重新提供所有std :: vector的接口。输入太多。接下来,我考虑了私有继承,因此我将using std::vector::member在公共部分写一堆,而不是提供方法。其实这也很乏味。 在这里,我确实确实认为我可以简单地从公开继承std::vector,但是在文档中提供警告,该类不应被多态使用。我认为大多数开发人员都有足够的能力来理解,无论如何都不应多态地使用它。 我的决定绝对不合理吗?如果是这样,为什么?您能否提供一种替代方法,使其他成员实际成为成员,而不涉及重新键入vector接口的所有内容?我对此表示怀疑,但如果可以的话,我会很高兴。 此外,除了一些白痴可以写类似的事实 std::vector<int>* p = new MyVector 使用MyVector 还有其他现实的危险吗?通过说现实,我舍弃了像想象一个需要指向矢量指针的函数之类的事情。 好吧,我已经说了我的案子。我犯罪了。现在由你来原谅我:)
189 c++  oop  inheritance  stl  vector 

8
连接两个向量的最佳方法是什么?
我正在使用多重踩踏,并且想要合并结果。例如: std::vector<int> A; std::vector<int> B; std::vector<int> AB; 我希望AB必须按此顺序处理A的内容和B的内容。做这样的事情最有效的方法是什么?
189 c++  vector 

4
如何计算线段的法线向量?
假设我有一个从(x1,y1)到(x2,y2)的线段。如何计算垂直于线的法向矢量? 我可以找到很多有关在3D平面上执行此操作的内容,但没有2D内容。 请轻松学习数学(欢迎链接到工作示例,图表或算法),我是程序员,而不是数学家;)
176 math  geometry  vector 

6
如何从C样式数组初始化std :: vector?
std::vector从C型数组初始化a的最便宜方法是什么? 示例:在下面的类中,我有一个vector,但是由于外部限制,数据将作为C样式数组传递: class Foo { std::vector<double> w_; public: void set_data(double* w, int len){ // how to cheaply initialize the std::vector? } 显然,我可以调用w_.resize()然后循环遍历元素,或调用std::copy()。有没有更好的方法?
174 c++  arrays  vector  stl 

11
将data.frame列转换为向量?
我有一个数据框,例如: a1 = c(1, 2, 3, 4, 5) a2 = c(6, 7, 8, 9, 10) a3 = c(11, 12, 13, 14, 15) aframe = data.frame(a1, a2, a3) 我尝试了以下将列之一转换为向量的方法,但是它不起作用: avector <- as.vector(aframe['a2']) class(avector) [1] "data.frame" 这是我唯一能想到的解决方案,但我假设必须有一种更好的方法来做到这一点: class(aframe['a2']) [1] "data.frame" avector = c() for(atmp in aframe['a2']) { avector <- atmp } class(avector) …

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.