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 } } } } }