1. 程式人生 > >希爾排序(Go語言)

希爾排序(Go語言)

bsp color 數組下標 bre class else i++ 由於 emp

func ShellSort(num []int) {

    //increment相隔數量
    for increment:=len(num)/2;increment>0 ;increment/=2 {
        //i序號較大的數組下標,i ,j進行比較
        
        for i := increment; i < len(num); i++ {
            //進行交換
            temp:=num[i]
            //按照increment,數組從j到0進行交換比較
            for j:= i - increment; j >= 0
; j -= increment { if temp < num[j] { num[j+increment]=num[j] num[j]=temp temp=num[j] }else {//由於數組前面按照increment已經排好序,如果temp>num[j],則不必繼續比較交換下去 break } } } } }

希爾排序(Go語言)