标题: TList排序问题

标题: 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技术讨论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值