Gra*_*Lup 0 c++ linked-list data-structures
我需要合并两个双向链表,但不是它们的值(列表没有排序).我想获得一个列表,其中包含两个节点中的所有节点,但按照它们在内存中的显示顺序.
也许这张图片更有帮助:http: //img140.imageshack.us/i/drawing2.png/
有没有可以进行这种合并的算法(最好是快速算法)?也许这有点帮助:
提前致谢!
好吧,听起来你没有使用std::list,所以我会选择通用的解决方案.由于您的要求是合并列表,但是节点的顺序是内存中的物理位置.您可以只追加两个列表,然后按节点的地址对节点进行排序.
请参阅:http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html,了解链接列表的排序算法.
在排序时,而不是node1->value < node2->value仅仅比较(size_t)node1 < (size_t)node2,或者某种性质.
| 归档时间: |
|
| 查看次数: |
854 次 |
| 最近记录: |