2011-09-21 49 views
2

如何知道ublas和每個後續非零元素中的sparse_vector中的第一個非零元素的索引?函數begin()給了我一個迭代器,它可以用來知道存儲的第一個非零值,而不是向量中的索引。訪問UBLAS稀疏向量中非零元素的索引

+0

這是一個答案,你應該發佈它並接受它! –

回答

1

下面是答案,OSWIN克勞斯後,從uBLAS庫米林列表:

迭代器提供,它返回所希望的結果的方法的索引()。但是 記得只有const_iterator真的很稀疏!

爲(斯帕塞夫克託::爲const_iterator POS = sparseVec.begin();!POS = sparseVec.end(); ++ POS){的std :: COUT < < pos.index()< < 「」 < < * POS機; }

1

如果沒有對矢量進行線性掃描,這似乎是不可能實現的。 API根本不公開非零索引。 (如果我是你,我會寫信給作者,因爲他們隱藏了在序列化稀疏向量時非常有用的信息。)

我以前在UBLAS的稀疏矩陣中遇到類似的問題,最終迫使我推出我自己的。

相關問題