我有一个 n = 32 项的数组,其中包含正值和负值。第一个 n/2 元素是正数并按值排序,第二个 n/2 元素是负数并按值排序。我想按值对整个数组进行排序,从最小的负值到最大的正值,这意味着如果有 32 个元素,则前 16 个(n/2)排序元素应包含原始数组的后 16 个元素的值排序数组的后 16 个元素应包含原始数组的前 16 个值。
假设示例:
double[] original = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -16, -15, ..., -1};
double[] sorted = {-16, -15, ...., -1, 1, 2, ..., 16};
有谁知道将元素转换为从原始生成排序数组的最佳方法是什么?
顺便说一下,这个数组与另一个数组相关联,该数组没有按大小排序的元素相同的方式,并且必须以与原始相同的方式移动,因此数组不应该按大小排序,它必须被移动。