再問一個關於qsort的問題!! |
缺席
|
黑輪
中階會員 發表:135 回覆:188 積分:64 註冊:2004-01-29 發送簡訊給我 |
|
kwu
中階會員 發表:10 回覆:57 積分:58 註冊:2003-10-31 發送簡訊給我 |
引言: 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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |