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

再問一個關於qsort的問題!!

缺席
黑輪
中階會員


發表:135
回覆:188
積分:64
註冊:2004-01-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-02 14:35:24 IP:140.124.xxx.xxx 未訂閱
QUEST1.BCB裡的qsort可以排序二個陣列資料嗎?就是排序A陣列,而B陣列就排得與A陣列相同~~ QUEST2.BCB裡的qsort可以排序struct嗎?    感謝大家的幫忙哦~
kwu
中階會員


發表:10
回覆:57
積分:58
註冊:2003-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-03 18:01:42 IP:61.63.xxx.xxx 未訂閱
引言: QUEST1.BCB裡的qsort可以排序二個陣列資料嗎?就是排序A陣列,而B陣列就排得與A陣列相同~~ QUEST2.BCB裡的qsort可以排序struct嗎? 感謝大家的幫忙哦~ < face="Verdana, Arial, Helvetica">
黑輪你好:
第一個問題可能沒辦法!!
第二個問題請參考下列的程式碼    struct AreaNo
{
  int Sequence;
  int No;
};    int StructCompare(const void *cmp1,const void *cmp2);    void __fastcall TForm1::Button1Click(TObject *Sender)
{
  const int MaxAreas = 10;
  struct AreaNo sAreaNo[MaxAreas];      for (int i = 0; i < MaxAreas; i  )
  {
    sAreaNo[i].Sequence = i   1;        //序號從1開始
    sAreaNo[i].No = MaxAreas - i;       //區域編號初始值(由 MaxAreas 遞減)
  }      qsort(sAreaNo,MaxAreas,sizeof(AreaNo),StructCompare);  //排序陣列結構      for (int i = 0; i < MaxAreas; i  )
    ListBox1->Items->Add(AnsiString(sAreaNo[i].Sequence)   " -> "  
                         AnsiString(sAreaNo[i].No));
}    int StructCompare(const void *cmp1,const void *cmp2)
{
 struct AreaNo *sAreaNo1,*sAreaNo2;     sAreaNo1 = (struct AreaNo *)cmp1;
 sAreaNo2 = (struct AreaNo *)cmp2;     return (sAreaNo1->No - sAreaNo2->No);
}
黑輪
中階會員


發表:135
回覆:188
積分:64
註冊:2004-01-29

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