演算法 拖動排序

2022-03-30 13:43:36 字數 803 閱讀 8816

選單、菜品排序問題

在菜品分類和菜品表中,新增排序字段,以供使用者排序。

新增時需要插入序號(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

③ 需要考慮菜品本身已經是第一位的問題

在排序前,將拖動的菜品的序號與最小的序號做比對,如果是一致的,就提示當前菜品已經置頂。

演算法 拖動排序

選單 菜品排序問題 在菜品分類和菜品表中,新增排序字段,以供使用者排序。新增時需要插入序號 max 1 查詢時按照序號從低到高的順序排序 排序演算法 以菜品為例 牛肉粉 序號1 雞蛋飯 序號2 烤羊肉 序號3 滷豆腐 序號4 現在需要將 滷豆腐 放在第一位 1 第一步 獲取牛肉粉 欲取代的位置 的序...

dom結構拖動排序

通過class獲取元素 function getclass cls return ret 獲取屬性 function getstyle obj,attr function startmove obj,json,fun else var ispeed json attr icur 6 運動速度如果大於...

拖動排序的後台處理

有時候總是要用到排序,一下總結了兩種排序的演算法。待排序的實體物件有有個序號字段 1 把一物件排在目標物件之上 可以跨級排序。排序之後目標物件的序號總是排在被排序的物件之後。目標序號 integer intmubiaoxuhao mubiaoyh.getyhxh tyh tyh tyhdao.fin...