Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;使用自定义交换对实现进行排序? 关于如何在C++中同时排序多个数组,有很多问题。答案总是一样的,也就是说,使用结构向量而不是多个数组。不幸的是,由于几个原因(I/O、部分MPI传输、矢量化单元的使用等),I无法做到这一点。此外,由于_C++_Sorting_Swap - Fatal编程技术网

C++;使用自定义交换对实现进行排序? 关于如何在C++中同时排序多个数组,有很多问题。答案总是一样的,也就是说,使用结构向量而不是多个数组。不幸的是,由于几个原因(I/O、部分MPI传输、矢量化单元的使用等),I无法做到这一点。此外,由于

C++;使用自定义交换对实现进行排序? 关于如何在C++中同时排序多个数组,有很多问题。答案总是一样的,也就是说,使用结构向量而不是多个数组。不幸的是,由于几个原因(I/O、部分MPI传输、矢量化单元的使用等),I无法做到这一点。此外,由于,c++,sorting,swap,C++,Sorting,Swap,C++;使用自定义交换对实现进行排序? 关于如何在C++中同时排序多个数组,有很多问题。答案总是一样的,也就是说,使用结构向量而不是多个数组。不幸的是,由于几个原因(I/O、部分MPI传输、矢量化单元的使用等),I无法做到这一点。此外,由于内存限制,我无法在排序后将结构数组转换为独立数组。我的问题是,如果存在一些C++实现,一些高效的(n log n)排序算法可以与自定义交换(和自定义比较)操作一起工作? (我仍然不明白为什么STL中缺少这样的选项。显然,很多C++程序员都在请求

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

(我仍然不明白为什么STL中缺少这样的选项。显然,很多C++程序员都在请求它)。

< P>你可以不精确地对数据进行排序,而只对其他数组和自定义比较器进行索引。排序之后,您将拥有排序索引的数组,对于O(n),您可以排列所有数组

你可以为你的类型专门化
std::swap
。你问为什么它不见了?那么,在必须同时对两个数组进行排序的情况下,您多长时间运行一次…)@奇尔斯:不确定它是否会起作用,请看@DanielLangr,好的观点。你能创建一个映射向量或数组,将你排序的索引映射到并行数组的实际索引吗?我相信您可以在带有自定义比较器的映射数组上使用
std:sort
。不幸的是,由于内存原因,无法使用。见我对弗雷德·拉森上述评论的回答。