排序演算法(JS)

2021-07-05 11:10:53 字數 678 閱讀 7112

自己整理一下資料結構的排序演算法,用js寫了一下,測試正確。

//插入排序

var table=[32,26,87,72,26,17];

for(var i=0;i=0&&temp0;)

} alert(i+table);

}

快速排序

快速排序是找出乙個元素(理論上可以隨便找乙個)作為基準(pivot),然後對陣列進行分割槽操作,使基準左邊元素的值都不大於基準值,基準右邊的元素值 都不小於基準值,如此作為基準的元素調整到排序後的正確位置。遞迴快速排序,將其他n-1個元素也調整到排序後的正確位置。最後每個元素都是在排序後的正 確位置,排序完成。所以快速排序演算法的核心演算法是分割槽操作,即如何調整基準的位置以及調整返回基準的最終位置以便分治遞迴。

//快速排序

var table=[38,26,97,19,66,1,5,49];

var num=0; //記錄次數

quicksort(table,0,table.length-1);

function quicksort(table,begin,end){

if(begin

//直接選擇排序 不穩定

var table=[38,97,26,19,38,5];

for(var i=0;i

JS排序演算法

function insertsort arr endif status new date st ms return arr function shellsort arr while increment 1 status new date st ms return arr function shel...

js排序演算法

常見內部排序演算法有 插入排序 希爾排序 選擇排序 氣泡排序 歸併排序 快速排序 堆排序 技術排序等 從第乙個元素開始,該元素被當成已排序 取出下乙個元素,在已排序的元素序列中從後向前掃瞄 如果該元素大於新元素,將該元素移到下一位置 重複3步驟,直到找到已排序的元素小於或者等於新元素,將新元素插入到...

JS排序演算法

時間複雜度 o n 2 最快 資料是正序時 最慢 資料是反序時 function bubblesort arr return arr 複製 時間複雜度 o n 2 最穩定排序演算法 function selectionsort arr temp arr i arr i arr minindex ar...