在犰狳的vec后面推元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在犰狳的vec后面推元素相关的知识,希望对你有一定的参考价值。
如何在犰狳的vec中向量的末尾推一个元素?我正在循环中执行添加和删除排序列表中的元素。这是非常昂贵的事情。在将vec x中的元素移除到vec x_curr时,我目前正在做的方式如下:
x_curr = x(find(x != element))
然而,在循环中添加元素的情况下,这并非易事。
x_curr = x; x_curr << element; x_curr = sort(x_curr);
这不正确。另外效率不高。在犰狳中做到这一点最有效的方法是什么。任何其他STL库解决方案。我在Rcpp armadillo中使用它。我可以对每个循环进行排序。 x_curr用于存储arma :: mat列的索引,即我将其用作mat.col(x_curr)。
答案
我不明白你的问题。
犰狳是一个数学库,所以它在矢量上运行。如果你不知道你的大小,你可以分配一个猜测的N
元素,并根据需要调整常见的“时代二”成语,并在最后缩小。如果你知道尺寸,那么你没有问题。
STL具有所谓的通用容器和算法,但它不做线性代数。您需要找出最需要的内容,并相应地规划您的实施。
另一答案
我不确定我是否理解你想要做什么,但如果你想在向量的末尾附加一个元素,你可以这样做:
int sz = yourvector.size();
yourvector.resize(sz+1);
yourvector(sz) = element;
以上是关于在犰狳的vec后面推元素的主要内容,如果未能解决你的问题,请参考以下文章