我想排序两组数据,即在二维数组或平行数组,无论哪种方式,它没有什么区别,但我似乎无法弄清楚。这里有两个数组:排序一个二维数组
/////way one///
int id[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int numDetected[10] = {40, 21, 2, 19, 45, 32,43, 90, 100, 8};
或
int 2dArray[2][10];
它没有什么区别,但我似乎无法想出解决办法。
我想通过numDetected
数量将数组排序到一个新数组中(无论是2d数组还是parrellel数组)。所以最大的numDetected
位于元素零,最小。但是在做这件事时,我想保留与numDetected
相同的元素中的id。因此,如果numDetected[2]
是最大的,我希望numDetected[2]
和id[2]
成为新阵列中的第一个元素。
谁能帮助我吗?
会不会更容易有一个'struct item {int id; int numDetected; }'和这些结构的容器?最好'运算符<'为该结构?这会让它变得更容易。 – 2013-02-28 23:10:52