Tag: vector

我应该什么时候在Scala中selectVector?

看来Vector已经迟到了Scala的collections派对,所有有影响力的博客文章都已经离开了。 在Java中ArrayList是默认的集合 – 我可能会使用LinkedList但只有当我想通过一个algorithm和照顾足够优化。 在Scala中,我应该使用Vector作为默认的Seq ,还是试图在List实际上更合适?

在C ++ 11和Boost.Container下,vector :: resize(size_type n)的行为是否正确?

我有一个C ++ 03应用程序,其中std::vector<T>types被用作临时缓冲区。 因此,它们通常使用std::vector<T>::resize()来std::vector<T>::resize()以确保它们足够大,以便在使用前保存所需的数据。 这个函数的C ++ 03原型实际上是: void resize(size_type n, value_type val = value_type()); 所以实际上在调用resize() ,通过添加val的相应数量的副本来扩大向量。 但是,我经常需要知道vector足够大以容纳我需要的数据; 我不需要用任何值初始化它。 复制构build新值只是浪费时间。 C ++ 11来拯救(我认为):在其规范中,它将resize()分成两个重载: void resize(size_type n); // value initialization void resize(size_type n, const value_type &val); // initialization via copy 这很适合C ++的哲学:只为你想要的付出代价。 但是,正如我所指出的那样,我的应用程序不能使用C ++ 11,所以当我遇到Boost.Container库的时候,我很高兴,它在文档中指出了对这个function的支持 。 具体来说, boost::container::vector<T>实际上有三个resize()重载: void resize(size_type n); // value initialization void resize(size_type n, […]

C ++vectorstring

我有一个vector<int>容器有整数(例如{1,2,3,4}),我想转换为一个forms的string "1,2,3,4" 在C ++中最干净的方法是什么? 在Python中,这是我将如何做到这一点: >>> array = [1,2,3,4] >>> ",".join(map(str,array)) '1,2,3,4'

vector擦除迭代器

我有这个代码: int main() { vector<int> res; res.push_back(1); vector<int>::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()以便不等于运算符失败?

如何使用迭代器?

我试图计算两点之间的距离。 我用C ++存储在vector中的两点:(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->x – p2->x)*(p1->x – p2->x) + (p1->y – p2->y)*(p1->y – p2->y)); } int main() { vector <point> po; point p1; p1.x = […]

将BMP图像转换为绘图仪的指令集?

我有一个这样的绘图仪: 我必须执行的任务是将24位BMP转换为该绘图仪的一组指令。 在绘图仪中,我可以改变16种常见的颜色。 我面临的第一个复杂性就是颜色的减less。 我面对的第二个复杂性是如何将像素转换成绘图指令集。 因为使用油漆的绘画工具刷将被使用。 这意味着绘图机的绘制线不会太小,而且会比较短。 请提出可以用来解决这个图像数据转换问题的algorithm? 一些初步结果:

删除循环内的vector的元素

我知道这个问题也有类似的问题,但是我没有设法通过他们的帮助find我的代码。 我只想通过检查一个循环内的这个元素的属性来删除/删除一个向量的元素。 我怎样才能做到这一点? 我尝试了下面的代码,但我收到错误的模糊消息: 'player ='function在'Player'中不可用。 for (vector<Player>::iterator it = allPlayers.begin(); it != allPlayers.end(); it++) { if(it->getpMoney()<=0) it = allPlayers.erase(it); else ++it; } 我该怎么办? 更新:你认为与指针成员的问题载体::擦除属于相同的问题? 我需要一个赋值操作符吗? 为什么?

如何计算线段的法向量?

假设我有一条从(x1,y1)到(x2,y2)的线段。 如何计算垂直于线的法向量? 我可以在3D中find很多有关这样的飞机的东西,但没有2D的东西。 请在math上轻松一些(链接到工作的例子,图表或algorithm是受欢迎的),我是一个程序员,而不是我是一个math家;)

VectorDrawable – 它是否可用于Android的前棒棒糖版本?

背景 我注意到Android现在支持某种vector绘图,通过一个名为“ VectorDrawable ”(也AnimatedVectorDrawable ,BTW)的类。 通过查看Android-Studio上的新function,我发现了这一点。 我不知道这是否将多个文件放入多个文件夹( mdpi , hdpi , xhdpi等)的xhdpi 。 这将是伟大的,可能会减less在某些情况下的应用程序大小。 问题 我想问几个关于这个新class级的问题: 是否有可能在较旧的Android版本中使用它,也许是通过甚至Google支持库的库? 我不熟悉它是如何工作的,但棒棒糖可以处理SVG文件吗? 它可以做任何可以实现的SVG文件? 有没有使用它的示例/教程/video,除了我发现的文档?

寻找代表从一个向量到另一个向量的旋转的四元数

我有两个向量u和v有没有find一个四元数表示从u到v的旋转?