【发布时间】:2013-04-10 12:04:54
【问题描述】:
我有一个 std::vector 作为我要公开的 API 的输入之一。 我知道这个 API 的用户可以发送一个巨大的向量,但是这个向量是由排序向量的串联形成的。这意味着我得到的向量是由许多排序的向量组成的。
我需要对这个向量进行排序。 我想知道哪种排序算法最适合。 我更喜欢像合并或快速这样的就地排序算法,因为我不想占用更多内存(向量已经很大了)。
另外,最好将 API 接口更改为接受 N 个排序的向量,然后自己进行 N 路合并。除非节省的资金真的很大,否则我不想这样做。 此外,在进行 N 路合并时,如果可能的话,我想就地进行。
所以理想情况下,我更喜欢在大向量上使用一些现成的排序算法的方法(因为我觉得这样会更简单)。
【问题讨论】:
标签: c++ algorithm sorting vector std