栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 其他

java排序算法

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java排序算法

单表单列数据排序方式

设置字段index,表示元素的排序信息规定元素从0开始递增,

如 0.1.2.3.4.5.6…100

逻辑删除数据不考虑(不变),物理删除数据(不变 如 1.4.5.6…100 2.3被删除也没事)

例如:数据示例

nameD 3

nameC 2

nameB 1

nameA 0

1)添加数据

​ 新增数据时,序号为当前元素数据总量

​ select count(*) from table;

例如:数据示例 新增 nameE

nameE 4

nameD 3

nameC 2

nameB 1

nameA 0

2)删除数据

​ 删除数据时,不改变排序值。

例如:数据示例 删除 nameB

nameE 4

nameD 3

nameC 2

nameB 1 等于#{值} 不变1

nameA 0

3)恢复数据

​ 恢复数据时,不改变排序值

例如:数据示例 恢复 nameB

nameE 4

nameD 3

nameC 2

nameB 1 不变1

nameA 0

4)修改位置

​ 前端发送一个偏移量,有正有负,比如从第五移动到第三,那么偏移量就是-2,那么移动的元素的index加上偏移量,然后将移动元素的原位置的偏移量范围内的元素进行加减。

​ Update table set index=index-#{偏移量} where ID=#{ID}

​ Update table set index=index+1 where index >= #{值} and index<#{值} 向下移动

或着

​ Update table set index=index-1 where index > #{值} and index =<#{值} 向上移动

例如:1.数据示例 将nameB向下移动 到 nameC 的下方 也就是从第一位移动到第四位 偏移量为 3 第一位和第四位区间的值都加一

​ Update table set index=index+1 where index >= #{1} and index<#{4} 向下移动

nameB 4 -偏移量等于 1

nameE 3 区间的值都加一等于 4

nameD 2 区间的值都加一等于 3

nameC 1 区间的值都加一等于 2

nameA 0 不再区间内值不变 0

例如:数2.据示例 将nameA向上移动 到 nameE 的上方 也就是从第五位移动到第二位 偏移量为 -3 第二位和第五位区间的值都减一

​ Update table set index=index-1 where index > #{0} and index =<#{3} 向上移动

nameB 4 不再区间内值不变 4

nameE 3 区间的值都减一等于 2

nameD 2 区间的值都减一等于 1

nameC 1 区间的值都减一等于 0

nameA 0 -偏移量等于 3

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/279661.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号