【发布时间】:2010-03-16 04:49:18
【问题描述】:
作为学习练习,我刚刚尝试实现自己的“合并排序”算法。我在 std::list 上做了这个,它显然已经内置了函数 sort() 和 merge()。但是,我计划将它移到我自己制作的链表中,所以实现不是特别重要。
问题在于 std::list 没有访问随机节点的设施,只能访问前/后和单步执行。我原本打算通过这个列表执行一个简单的二分搜索,然后通过几个步骤找到我的答案。
std::list 中已经有内置函数用于执行这些排序,这让我相信有一种同样简单的方法可以按照我想要的方式访问列表。
无论如何,提前感谢您的帮助!
【问题讨论】:
-
链表非常适合快速插入元素,但排序和搜索就不是那么好了。因此,如果您应该在使用链表时第一次以正确的顺序插入元素。
标签: algorithm linked-list search