访问UBLAS稀疏向量中非零元素的索引
Accessing the indices of non-zero elements in a UBLAS sparse vector
我怎么能知道第一个非零元素在sparse_vector在ublas和每个后续的非零元素的索引?begin()函数给了我一个迭代器,可以用来知道存储的第一个非零值,而不是它在vector中的索引。
下面是Oswin Krause的答案,来自ublas mainling列表:
迭代器提供了一个方法index()来返回期望的结果。但记住,只有const_iterator才是真正稀疏的!
for(SparseVector::const_iterator pos = sparseVec.begin();pos ! =sparsesec .end();++pos){std::cout <<pos.index () & lt; & lt;"& lt; & lt;* pos;}
如果不对矢量进行线性扫描,这似乎是不可能实现的。API只是不公开非零索引。(如果我是你,我会写信给作者,因为他们隐瞒了在序列化稀疏向量时非常有用的信息。)
我过去在使用UBLAS的稀疏矩阵时遇到过类似的问题,最终迫使我自己动手。
相关文章:
- 在对向量中查找元素的索引
- 当该数组的索引中没有元素时,指针指向什么?
- 如何在 STL 函数中找到传递给谓词的元素的索引?
- 如何在C++中递归地找到max元素的索引?
- 编译器(Visual C++)如何优化按索引访问矢量元素?
- 保持排序的数据结构,允许log N插入时间,并且可以返回我在log N中查找的元素的索引
- 使用推力根据索引更改某些元素的值
- 为什么 min_element() 返回最小元素的索引,而不是迭代器?
- CPtrList - 如何获取元素的索引?
- 获取结构 c++ 中元素的索引
- C++ STL 数据结构常时按索引推送/弹出/随机访问,并具有指向元素的可靠指针
- 矢量指针索引处的读取元素
- C++函数返回两个 char 数组的相同索引元素
- 特征:类似 numpy 的元素索引
- 如何在另一个数组中找到一个未排序数组的不同元素索引?
- C 无法使用嵌套环将数组的元素索引
- Opencv Mat的元素索引产生垃圾
- 在c++中,当元组的元素索引在运行时已知时,是否有可能获得该元素的类型?
- 按内容访问QVector元素索引
- C++ 矢量元素索引