請教TList 排序 |
|
kjwang
一般會員 發表:11 回覆:8 積分:3 註冊:2005-04-17 發送簡訊給我 |
請問我在程式當中抓Database資料然後以TList來存放, 並在每存一筆資料的同時,用TStringList抓某個欄位用string型態來當該筆資料的index存放 然後之後我在做一些判斷處理時會回頭用到TList中存放的資料 不過我希望的是能確保TList裡的資料是要Sort過的,才能按順序逐筆向下搜尋 不知道TList裡的Sort function是怎麼使用呢? 因為TList裡存放的是point指標嗎, 這樣要如何sort呢? 而TStringList存的是string型態就可以直接Sort嗎? 但這樣就不能確保TList和TStringList的資料一定是同樣的排序方式(因為我要用TStringList當index取Tlist資料) 謝謝!
|
carl168
一般會員 發表:7 回覆:16 積分:4 註冊:2004-02-18 發送簡訊給我 |
|
borland_delphi70
中階會員 發表:8 回覆:50 積分:51 註冊:2002-12-06 發送簡訊給我 |
既然用了TStrings就不用再用TList了,因為TStrings的每一筆資料均包含一個字串與一個Pointer vStr: tStrings; vStr:=tStringList.Create; vStr.Strings[x] ..... 可以存字串 vStr.Objects[x] .... 可以存物件之 pointer 將資料存入TStrings之後再 sort 反而會變慢,你如果以某一字串欄位當 key 值,存在vStr.Strings[x]中,應再存入前先以二分搜尋法比對,找到適當之位置後,再以vStr.Insert(i_Idx,s_Key)存入字串,同時以vStr.InsertObject(i_Idx,p_Pointer),才會比較簡潔。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |