列表排序
来源:互联网 发布:问道1.57服务端数据库 编辑:程序博客网 时间:2024/04/29 19:51
在项目里碰到一个需求,关于列表排序的,刚开始思路一直在基础的列表排序算法上,想了半天也没想出来怎么处理这种情况,越想越复杂。在网上查询资料的时候,意识到可以利用数据库本身去做排序更新,感觉思路比较新颖,因此在这里做个记录。
需求: 一个位置列表,初始的时候记录是没有排序序号的,用户可以随意设置每条记录的排序序号,设置完后,后台要更新数据,并完成其余数据的更新,并且最终的数据一定要是按顺序排列的,中间不能有间隔值。例如:原本 a:1、b:2、c:3、d:4
,3
的位置要更新为8
,那么最终的排序排序应该是:a:1、b:2、d:3、c:4
。
思路:
三个变量:原本的位置m,要修改的位置n,当前排序最大值max。
// 以下为伪代码if(n > max + 1) { n = max+1;}if(是新增数据){ if max>=n { update table set sort=sort+1 where sort>=n and sort<=max }} else if(修改数据) { if m>n { update table set sort=sort+1 where sort>=n and sort<m } else if m<n { update table set sort=sort-1 where sort>m and sort<=n }}update table set num = n where id = 业务数据ID
阅读全文
0 0
- 列表排序
- 排序列表
- 排序列表
- 列表排序
- Java技巧:列表排序
- 引导排序列表
- Python 的列表排序
- android list列表排序
- magento 产品列表排序
- List 列表排序
- Comparator列表排序
- python列表排序
- python列表排序
- Python字典、列表排序
- python 列表排序
- Python 的列表排序
- wxPython - ListCtrl列表排序
- python列表排序
- 新linux服务器需要安装的模块
- gradle各个版本资源
- 使用list和tuple
- 20171220Link2
- openCV cvHoughLines2 函数源码解析(CV_HOUGH_PROBABILISTIC 基于概率的霍夫变换)
- 列表排序
- ZFNet论文学习
- 常用的数据库软件各自有什么特点?
- 对称算法中AES加密解密算法
- mybats入门(四)resultMap
- Android广播管理一--Broadcast机制介绍
- 改进IOT板布局
- 第一个博客(2017.12.20)
- 数据结构判断题精编