标题: TList排序问题

来源:互联网 发布:tensorflow python 编辑:程序博客网 时间:2024/06/07 01:44

标题: TList排序问题 浏览:165 加入我的收藏

楼主: 我有一些数据,以结构形式保存到TList中

数据例:姓名 学分张三 45 李四 30 黄五 23 ....

如果黄五的学分增加了20分后,变成43,

这时,怎么更新TLIST中黄五数据的位置,

排序从学分高到低排 张三 45 黄五 43 李四 30

----------------------------------------------

delphi众人拾柴火焰高!支持盒子~~~~~~~~~~ 作者: lotsbug (lotsbug) ▲▲▲△△ -

 普通会员 2010-8-28 12:18:01 1楼:

 for i := 0 to List.Count - 1 do begin if AnsiSameText('黄五', StuRec(List[i]).Name) then begin StuRec(List[i]).score := StuRec(List[i]).score + 20; break; end; end;

---------------------------------------------- -

作者: lotsbug (lotsbug) ▲▲▲△△ - 普通会员 2010-8-28 12:37:58

2楼:

function compareScore(Item1, Item2: Pointer): Integer; begin Result := StuRec(Item2).score - StuRec(Item1).score; end; List.Sort(compareScore);

 ---------------------------------------------- -

作者: q34625474 (q34625474) ▲▲▲△△ - 盒子活跃会员 2010-8-28 13:23:47

3楼: 换到TStringList也是可以的吧?

 ----------------------------------------------

delphi众人拾柴火焰高!支持盒子~~~~~~~~~~

作者: ivvn (奔腾的心) ▲▲△△△ - 注册会员 2010-8-28 14:59:46

4楼: List.Sort很快的,看2楼

 ---------------------------------------------- -

作者: huangjacky (TheFiend) ▲▲△△△ - 普通会员 2010-8-29 9:32:39

5楼: 快速排序算法

 ----------------------------------------------

个人博客:http://huangjacky.cnBlogs.com Delphi技术讨论

原创粉丝点击