zoukankan      html  css  js  c++  java
  • [算法] 拖动排序

    菜单、菜品排序问题
    在菜品分类和菜品表中,新增排序字段,以供用户排序。

    新增时需要插入序号(max+1)
    查询时按照序号从低到高的顺序排序


    排序算法:以菜品为例

    牛肉粉 序号1
    鸡蛋饭 序号2
    烤羊肉 序号3
    卤豆腐 序号4

    ① 现在需要将 卤豆腐 放在第一位

    1)第一步:获取牛肉粉(欲取代的位置)的序号为1,并获取卤豆腐的GOODS_ID

    2)将牛肉粉及其之后的产品的序号+1

    牛肉粉 序号1+1 = 2
    鸡蛋饭 序号2+1 = 3
    烤羊肉 序号3+1 = 4
    卤豆腐 序号4+1 = 5

    3)将卤豆腐的序号变为1
    卤豆腐 序号1(取代)
    牛肉粉 序号1+1 = 2
    鸡蛋饭 序号2+1 = 3
    烤羊肉 序号3+1 = 4


    ② 将 卤豆腐 放在第2位

    1)第一步:获取鸡蛋饭(欲取代的位置)的序号为2,并获取卤豆腐的GOODS_ID

    2)将鸡蛋饭及其之后的产品的序号+1

    牛肉粉 序号1=1
    鸡蛋饭 序号2+1=3
    烤羊肉 序号3+1=4
    卤豆腐 序号4+1=5

    3)将卤豆腐的序号变为2
    牛肉粉 序号1=1
    卤豆腐 序号2(取代)
    鸡蛋饭 序号2+1=3
    烤羊肉 序号3+1=4

    ③ 需要考虑菜品本身已经是第一位的问题

    在排序前,将拖动的菜品的序号与最小的序号做比对,如果是一致的,就提示当前菜品已经置顶。

  • 相关阅读:
    Java Lambda表达式初探
    解开lambda最强作用的神秘面纱
    常用正则表达式
    js,java时间处理
    Java 8新特性探究(二)深入解析默认方法
    Java 8里面lambda的最佳实践
    lambda表达式和闭包
    Lambda语法篇
    lambda表达式
    依赖注入和控制反转的理解
  • 原文地址:https://www.cnblogs.com/avivaye/p/4179843.html
Copyright © 2011-2022 走看看