golang 快速排序

func QuickSort(dataList []int) []int {
   return  DFSQuickSort(dataList,0,len(dataList)-1)
}

func DFSQuickSort(dataList []int,left,right int) []int {
   if  left >= right{
      return dataList
   }

   i, j := left,right

   temp := dataList[i]


   for(i != j){
      for(temp < dataList[j]) && i<j{
         j--
      }

      for(temp > dataList[i]) && i<j{
         i++
      }

      if i < j {
         dataList[i], dataList[j] = dataList[j], dataList[i]
      }

   }

   //交换基数
   temp,dataList[i] = dataList[i],temp

   DFSQuickSort(dataList,left, i-1)
   DFSQuickSort(dataList,i+1,right)

   return dataList
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值