【发布时间】:2011-07-02 16:30:50
【问题描述】:
我有多个字符串数组,我使用比较函数将它们排序到优先级队列中。我忽略了我需要遍历字符串的事实..
您会推荐什么其他数据结构?也许允许比较函数的东西,以便我得到一组排序的字符串
我可以有效地从优先级队列中弹出元素,但这意味着在将它们推回优先级队列之前我需要辅助空间
如果向量允许比较函数,那将是理想的。 STL“设置”会起作用吗?我有固定数量的元素(大约 450 个)。
编辑:确认 STL 的集合正在工作.. 即使没有定义我自己的字符串比较函数。
【问题讨论】:
-
您可以在
std::vector上使用std::sort,并且可以传入一个比较函数来定义排序顺序。除了能够按顺序迭代之外,您还需要什么? -
比较函数不是容器的属性,而是排序算法的;任何带有随机访问迭代器的有序容器都可以与
std::sort一起工作,这反过来又允许自定义比较函子。
标签: c++ data-structures