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

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

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

  • 相关阅读:
    IOS中 init和initialize
    UITableView的常用方法
    加载xib文件的两种方式
    openfire修改服务器名称方法
    POST
    ObjectiveC的动态特性
    枚举 UIButton补充
    深入ObjectiveC的动态特性 Runtime
    IOS中 类扩展 xib
    ObjectiveC语法之代码块(block)的使用
  • 原文地址:https://www.cnblogs.com/avivaye/p/4179843.html
Copyright © 2011-2022 走看看