结构体 快速排序的问题
2412 000
2417 2200
2422 000
2427 000
2432 000
2442 000
2447 23120
2437 00.50
2452 000
2457 000
2462 0230
2467 000
2472 000
2484 03330
以上是我要排序的数据,我用一个结构体储存。
struct CableLoss
{
int fre;
double value[10];
};
fre 表示 第一列的频率
value[10]储存后面的数据。
现在要按照fre排序即可。
我的code如下
CableLoss Atten_2G[20];
int cmp( const void *a ,const void *b)
{
return (*(CableLoss *)a).fre > (*(CableLoss *)b).fre ? 1 : -1;
}
qsort(Atten_2G,count_2G,sizeof(Atten_2G[0]),cmp);
但是发现结果是不对的,是否是结构体中的数组影响。
如何才能正确按照fre排序,value值必须和fre对逐行对应。
暂时没分了,等下追加一下。
[解决办法]
没看出来有什么错误……
硬要说的话,cmp在比较2个相同值的时候也是返回-1了,正确的应该是0
不知道会不会有影响,没试过