首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

结构体 快速排序的有关问题

2013-09-14 
结构体 快速排序的问题2412000 241722002422000242700024320002442000244723120243700.502452000245700024

结构体 快速排序的问题
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
不知道会不会有影响,没试过

热点排行