自己整理一下資料結構的排序演算法,用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...