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