int compar(const void* a, const void* b)
{
return *(const int*)b - *(const int*)a; 一开始考虑不周,这一步可能导致数值溢出
if (*(const int*)b > *(const int*)a) return +1;
if (*(const int*)b < *(const int*)a) return -1;
return 0;
}
int main(void)
{
int s[3][3] = { 1, 5, 8
, 7, 8, 3
, 4, 6, 5 };
qsort(s, sizeof(s) / sizeof(s[0]), sizeof(s[0]), &compar);
for (size_t r = 0; r != sizeof(s) / sizeof(s[0]); ++r)
{
for (size_t c = 0; c != sizeof(s[r]) / sizeof(s[r][0]); ++c)
printf("\t%d", s[r][c]);
printf("\n");
}
return 0;
}
【C++】简短笔记-qsort函数对二维数组进行排序
猜你喜欢
转载自blog.csdn.net/weixin_42176221/article/details/101113609
今日推荐
周排行