如何使希爾排序具有穩定性

穩定上指排序前相等的數據的位置關係在排序後不發生變化
直接插入排序是穩定的。希爾排序是特殊的插入排序,但因爲交換值的過程中有跳躍式的交換,所以不穩定,如下圖紅6和藍6在排序後發生了變化,6個數的序列,dk先取3來看
所以說希爾排序是不穩定的,如何把他改進爲穩定的呢,只需在原代碼上加兩段代碼即可
具體代碼作用說明在圖中 這樣每次發生交換都會有檢測並且進行穩定化操作,這樣下來就可使希爾排序穩定了