golang吧 关注:6,114贴子:14,128
  • 2回复贴,共1

我代码出现BUG了 求大神帮我看看

只看楼主收藏回复

这是我写的快速排序法,为啥直接崩了

package main
import "fmt"
func QuickSort(left int,right int,array *[6]int){
l:=left
r:=right
pivot:=array[(left+right)/2]
temp:=0
for ;l<r ; {
for ;array[l]<pivot ; {
l++
}
for ;array[r]>pivot ; {
r--
}
if l>=r{
break
}
temp=array[l]
array[l]=array[r]
array[r]=temp
if array[l]==pivot{
r--
}
if array[r]==pivot{
l++
}
}
if l == r{
l++
r--
}
if left<r{
QuickSort(left,r,array)
}
if right>1{
QuickSort(l,right,array)
}
}
func main(){
arr:=[6]int{-9,78,0,23,-567,70}
QuickSort(0,len(arr)-1,&arr)
fmt.Println(arr)
}


IP属地:山东1楼2020-02-13 17:40回复
    if array[l] == pivot {
    l++
    }应该这样吧


    IP属地:辽宁来自Android客户端2楼2021-02-10 01:09
    回复
      学习一下断点调试


      IP属地:江西3楼2021-02-18 11:19
      回复