全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:946
推到 Plurk!
推到 Facebook!

陣列排序的問題

尚未結案
danielkelly
初階會員


發表:36
回覆:108
積分:28
註冊:2003-05-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-03 11:45:55 IP:140.124.xxx.xxx 未訂閱
請問一下喔~~ 我有一個陣列 float a[10],裡面的資料是未經排序過的 我想要將裡面的資料依大小加以排序~~ 我本來是用qsort,可是我又想知道陣列值原本的順序~~ 如: 序前 a[0]=6 排序後 a[0]=2 原順序 a[0]=3 a[1]=4 a[1]=4 a[1]=1 a[2]=8 a[2]=6 a[2]=0 a[3]=2 a[3]=8 a[3]=2 請問有什麼方法可以做呢???
johnjohn
一般會員


發表:6
回覆:59
積分:13
註冊:2004-04-20

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-03 13:41:18 IP:203.70.xxx.xxx 未訂閱
用struct可以嗎    
struct sortdata {
  int BeforeSort;
  int AfterSort;
  float data
};    sortdata A[10];    for(int i=0;i<10;i  )  {   //排序前
A[i].data= ;       //排序前的資料 
A[i].BeforeSort=i; //排序前的順序
}    排序  A[i].data    for(int i=0;i<10;i  )  {   //排序後
A[i].data= ;       //排序後的資料 
A[i].AfterSort=i; //排序後的順序
}    
>>SPATIAL INFORMATION IS COOOOL<<
danielkelly
初階會員


發表:36
回覆:108
積分:28
註冊:2003-05-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-03 17:30:11 IP:140.124.xxx.xxx 未訂閱
請問一下 struct 可以在 qsort 上用嗎?
johnjohn
一般會員


發表:6
回覆:59
積分:13
註冊:2004-04-20

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-03 18:49:16 IP:203.70.xxx.xxx 未訂閱
why not?
    struct sortdata {
  int BeforeSort;
  int AfterSort;
  float data
};    sortdata A[10];    for(int i=0;i<10;i  )  {   //排序前
A[i].data= ;       //排序前的資料 
A[i].BeforeSort=i; //排序前的順序
}    qsort( (void *)(&(A[0].data)), 10, 4,sort_function);    for(int i=0;i<10;i  )  {   //排序後
A[i].data= ;       //排序後的資料 
A[i].AfterSort=i; //排序後的順序
}    int sort_function( const void *a, const void *b);    
>>SPATIAL INFORMATION IS COOOOL<<
danielkelly
初階會員


發表:36
回覆:108
積分:28
註冊:2003-05-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-03 20:18:26 IP:140.124.xxx.xxx 未訂閱
請問一下 這個sort_function 要怎麼寫呢??
johnjohn
一般會員


發表:6
回覆:59
積分:13
註冊:2004-04-20

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-05-04 00:18:47 IP:203.70.xxx.xxx 未訂閱
int sort_function( const void *a, const void *b)
{
  return ( (int *)a > (int *)b )?1:0; 
  /*若(int *)a > (int *)b,return 1 ; 否則 return 0*/
  
}
註:你可以參考BCB的手冊喔 >>
danielkelly
初階會員


發表:36
回覆:108
積分:28
註冊:2003-05-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-05-04 11:47:35 IP:140.124.xxx.xxx 未訂閱
喔 ~~ 謝謝 請問一下 sortfunction 一定要自己寫媽? 那麼不同的資料型態 是不是 就要不同的函數~~
johnjohn
一般會員


發表:6
回覆:59
積分:13
註冊:2004-04-20

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-05-04 12:26:38 IP:203.70.xxx.xxx 未訂閱
對.所以你其實可以不需要用qsort來比大小,自己寫一個副程式可能更快 >>
danielkelly
初階會員


發表:36
回覆:108
積分:28
註冊:2003-05-11

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-05-04 12:30:23 IP:140.124.xxx.xxx 未訂閱
喔 了解~ 謝謝
系統時間:2024-09-08 21:27:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!