我有一个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
替换什么?
如果它听起来很愚蠢,请原谅我
答案 0 :(得分:1)
float (*x)[1000] = &input[0][temp];
qsort (x, sizeof(*x)/sizeof(**x), sizeof(**x), comp);