In diesem Artikel geht es um die Hill-Sortierung in JavaScript. Wenn Sie sich mit der Hill-Sortierung in JavaScript nicht auskennen, schauen wir uns gemeinsam diesen Artikel an. Hören Sie auf, Unsinn zu reden, und kommen Sie zur Sache !
Hill-Sortierung in JavaScript
Hill-Sortierung ist eine effizientere Implementierung der Einfügungssortierung. Der Unterschied zur Einfügesortierung besteht darin, dass weiter entfernte Elemente zuerst verglichen werden. Der Kern der Hill-Sortierung liegt in der Festlegung der Intervallsequenz. Der Intervallablauf kann vorab eingestellt oder dynamisch definiert werden. Der Algorithmus zur dynamischen Definition von Intervallsequenzen wurde von Robert Sedgewick, Co-Autor von „Algorithms (4. Auflage)“ vorgeschlagen. Hier habe ich diese Methode verwendet.
JavaScript-Code-Implementierung
function shellSort(arr) { var len = arr.length, temp, gap = 1; while(gap < len/3) { //动态定义间隔序列 gap =gap*3+1; } for (gap; gap > 0; gap = Math.floor(gap/3)) { for (var i = gap; i < len; i++) { temp = arr[i]; for (var j = i-gap; j >= 0 && arr[j] > temp; j-=gap) { arr[j+gap] = arr[j]; } arr[j+gap] = temp; } } return arr;}
Das Obige ist der gesamte Inhalt dieses Artikels. Wenn Sie nicht viel darüber wissen, können Sie beide Seiten problemlos selbst meistern
Verwandte Empfehlungen:
So implementieren Sie die JS Hill-Sortierung und Schnellsortierung
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung der Hill-Sortierung in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!