合并已排序的数组与合并已排序的链接列表

时间:2017-01-28 07:42:37

标签: arrays sorting linked-list

哪个更快,合并两个长度为n和m的排序数组,或合并两个长度为n和m的已排序链接列表。

我需要一个数据结构来存储我只需要执行两项操作的项目集合:

pop()返回并删除此列表的第一项。

和merge()合并两个排序列表。

由于这些是我需要预先形成的唯一操作,在我看来,最有效的解决方案是链接列表,但是数组可能更好,或者可能存在优于两者的第三种选择。

我在编译时指定的列表长度上限,但我希望能够改变这个上限。例如,在我运行程序之前,我可能知道列表长度最多为10000但我可能希望再次使用长度小于1000000的列表运行程序。

此外,如果数组是更好的选择,那么如何有效地合并数组?我很清楚如何使用链接列表完成此操作,但是对于数组,您似乎需要不断地将内容向下移动,这将是非常低效的。

感谢您的帮助

0 个答案:

没有答案