目录
插入排查
访问量:1356

一、简介

思路:针对插入排序,我一般会类比打扑克,按照起牌的顺序,将扑克从小到大排序。


func InsertSort(data []int) []int {
   dataLen := len(data)
   if dataLen < 2 {
      return data
   }

   for i := 1; i < dataLen; i++ { // i代表起牌的顺序
      if data[i] > data[i -1] { 
         continue
      }

      flag := data[i] // 当前牌的大小,对比已排序的牌
      j := i
      for ; j > 0; j-- {
         if data[j-1] > flag {
            data[j] = data[j-1]
            continue
         }

         break
      }

      data[j] = flag

      //fmt.Println("第", i, "次遍历", data)
   }

   return data
}