C#关于如何给数据排序,置顶,上移,下移,置尾
我采用的排序是根据px_id的倒序排列,也就是最新发的在最前面。
注意每一次动作都必须使用事物。即使有一个错了,也能回滚。
置顶——>也就是px_id最大,方法是找出这个列表中最大的 px_id ,然后等于这个值。再做一步,把比当前这个ID的px_id值大的都要进行减1.
原理示意图:要将3置顶
第一步:9,8,7,6,5,4,3,2,1
第二步:9,9,8,7,6,5,4,2,1
第三步:9,8,7,6,5,4,3,2,1
上移——>是一个px_id增加的过程,所以找到当前ID的px_id大的下一个ID,然后对这将这两个px_id值交换。
下移——>是一个px_id减小的过程,所以找到当前ID的px_id小的上一个ID,然后对这将这两个px_id值交换。
至尾——>把比当前这个ID的px_id值小的都要进行加1. ,再将此ID的px_id设为1即可
经验在于积累----武二郎