时间:2016-03-23 18:43:12

标签: c++ algorithm sorting vector heapsort

我想实现第5.2节中描述的快速标记算法 http://physbam.stanford.edu/~fedkiw/papers/stanford2001-03.pdf。在这里,他们声称使用二进制堆进行排序操作,所以我认为使用标准库的sort_heap方法是个好主意,如下所述:

http://www.cplusplus.com/reference/algorithm/sort_heap/

在这个例子中,要排序的向量只包含整数值,而在我的情况下,我有一个在3D网格上定义的距离图(线性化为一维数组),因为我必须知道对应于特定距离的索引价值,我应该使用类似的东西:

std::vector<std::pair<int,float>> v;

在这个帖子中

How do I sort a vector of pairs based on the second element of the pair?

它显示了如何为类似的问题调用std :: sort,是否可以对std :: sort_heap执行相同的操作?

谢谢!

修改

作为T.C.指出这个问题可以通过使用priority_queue来解决!

0 个答案:

没有答案