带有自定义交换的c++排序实现

C++ sort implementation with custom swap?

本文关键字:c++ 排序 实现 交换 自定义      更新时间:2023-10-16

关于如何在c++中一次对多个数组进行排序,已经有很多问题被问及。答案总是相同的,即使用结构体的向量而不是多个数组。不幸的是,由于几个原因(I/O、部分MPI传输、矢量化单元的使用等),I 不能做这个。此外,由于内存限制,我无法在排序后将结构体数组转换为独立数组。我的问题是,如果存在任何c++实现一些有效的(n log n)排序算法,可以与自定义交换(和自定义比较)操作?

(我仍然不明白为什么STL中缺少这样的选项。

不能对数据进行精确排序,只能对其他数组和自定义比较器的索引进行排序。排序之后,您将得到一个排序索引数组,对于0 (n),您可以对所有数组进行排列。