拖拽排序实现方案 的数据库设计以及思路

博客介绍了拖拽排序的实现方案。包括增加排序字段,数据量少可数组传入后端重排;取中值法,类似sort升级;链表形式结构,插入数据取相邻值中值排序;单表单列模式法,处理增删改元素顺序;还提到偏移量方案,根据移动方向正负调整位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

拖拽排序实现方案
  1. 增加字段的方法

​ 增加排序字段sort sort=1 ,数据量少的情况下采用 数组形式统一传入后端,后端根据前端传入的数组序列进行循环重排

  1. 取中值法

​ 大体上可以理解未sort 升级版本,给默认第一位赋值 pos 较大参数1000 第二位就是2000
链表形式结构的方案:
​ 例如:

a1000
b2000
c3000
d4000

如果有 新数据 f 想插入a 之前 则 取 (1000+0) /2 =500 位置 即排序 500 1000 2000 3000 4000 类比最后想插入d之后的位置

如果c想插入 b位置 则 取b位置 2000 和b 前一位 c=(2000+1000)/2=1500 排序 b 对应位置不变

3 .单表单列模式法

元素有下标

case1:增加 新元素 abcdef (123456) 增加新元素就是数据总量:count(array)+1=7

case2:删除元素d =>4 将大于4的全减一 变成 123 (5-1)(6-1)(7-1)

case3:修改元素顺序(最常见的拖拽情况)当 e(5)想移动到c(3)之前时候,

​ if(e<c) 后面数据往前移动 将两个(5到3)范围内全减一 即 123(3+1)(4+1)

​ 前面的数据往后移动 (3到5)12(4-1)(5-1)56

根据真实情况来看目前1 适用于数据分类较少的一些组织,b分类采用链表结构查询速度可能受到一部分影响

第三种方案 :采用偏移量方案:offset 大的往小的方向移动 为正数 小的往大的方向移动 为负数 offset代表偏移量大小 偏移量为2 指的是向前移动两位 则 被挤掉的位置需要 依次加一(xy之间)

​ 偏移量为-2 指的是向后两位 则(xy)被挤掉的位置 xy之间依次减一

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值