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

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

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

  • 相关阅读:
    bzoj4105: [Thu Summer Camp 2015]平方运算
    bzoj4035: [HAOI2015]数组游戏
    bzoj1022: [SHOI2008]小约翰的游戏John
    bzoj4665: 小w的喜糖
    CodeChef:Little Elephant and Colored Coins
    bzoj4664: Count
    bzoj4498: 魔法的碰撞
    bzoj4230: 倒计时
    bzoj4532: [BeiJing2014 WinterCamp] 珠链
    python 画正态曲线
  • 原文地址:https://www.cnblogs.com/avivaye/p/4179843.html
Copyright © 2011-2022 走看看