qsort:在C中对3D数组的1维进行排序

时间:2014-04-12 07:30:24

标签: c arrays sorting

我有一个3D数组:float input[2][50][1000];

我想快速排序:

qsort (x, sizeof(x)/sizeof(*x), sizeof(*x), comp);

其中comp是

int comp (const void * elem1, const void * elem2) {
    float f = *((float*)elem1);
    float s = *((float*)elem2);
    if (f > s) return  1;
    if (f < s) return -1;
    return 0;
}

我只想对我的3D数组的一维进行排序,即我想对input[0][temp][0]input[0][temp][1]input[0][temp][2]等进行排序。

问:我应该用x替换什么? 如果它听起来很愚蠢,请原谅我

1 个答案:

答案 0 :(得分:1)

float (*x)[1000] = &input[0][temp];
qsort (x, sizeof(*x)/sizeof(**x), sizeof(**x), comp);