int num = new int;
int h = 13;
while(h > 0)
num[j] = thisnum;
}h = (h-1)/3;
}
希爾排序實際上是一種分組插入排序,屬於插入排序的一種或者高階版,在分組排序過程中把陣列排列成「基本有序」的陣列,當整個資料為乙個陣列時(h=1)執行一次插入排序,此時資料為「基本有序」陣列,所以減少了複製次數,提公升了速度。
希爾排序是按照不同步長對元素進行插入排序,當剛開始元素很無序的時候,步長最大,所以插入排序的元素個數很少,速度很快;當元素基本有序了,步長很小,插入排序對於有序的序列效率很高。
Java排序演算法 希爾排序
一.思想 是插入排序法的一種改進。先取乙個小於n的整數d1作為第乙個增量,所有距離為d1倍數的整數作為乙個組,然後對組內 進行插入排序,然後再取第二個增量d2 二.例子 比如2,5,3,1,4,6.當d 3的時候,所有距離為3的整數作為乙個分組,那麼2,1作為乙個分組,5,4作為乙個分組,3,6作為...
Java排序演算法之希爾排序
希爾排序 shell sort 又稱為 縮小增量排序 是1959年由d.l.shell提出來的。它也是一種屬於插入排序類的排序方法,是一種對直接插入排序的改進,但在時間效率上卻有較大的改進。希爾排序的基本思想是 先將整個待排元素序列分割成若干個子串行 由相隔某個 增量 的元素組成的 分別進行直接插入...
JAVA排序演算法之希爾排序
本章內容對希爾德原理及特點並沒有做太多敘述,主要目的是對希爾排序 進行 解希爾排序內容簡介希爾排序是插入排序的一種,也成縮小增量排序,是直接插入排序演算法的 一種更高效的改進版本 希爾排序是把記錄按下標的一定增量分組,對每組使用直接插入演算法排序,每組包含的元素越來越多,當增量減至1.整個陣列恰被分...