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