js 排序演算法

2021-10-01 09:12:18 字數 1460 閱讀 1424

1 氣泡排序

最簡單的排序演算法之一

function sorting(arr)}}

return arr;

},

2 選擇排序

首頁從未排序序列中找到最大值或最小值,放到已排序序列的末尾或開頭,重複上述步驟,直到所有元素排序完畢

function sorting(arr)

}temp = arr[i];

arr[i] = arr[minindex];

arr[minindex] = temp;

}return arr;

},

3 插入排序

通過構建有序序列,對於末排序資料,在已排序序列中從後往前掃瞄,找到相應位置並插入(類似玩撲克牌)

function sorting(arr)

arr[preindex +1] = current;

}return arr;

},

4 希爾排序

按一定的間隔對數列進行分組,然後在每乙個分組中做插入排序;隨後逐次縮小間隔,在每乙個分組中做插入排序。。。直到間隔等於1,做一次插入排序後結束

function sorting(arr)

arr[preindex + gap] = current;

}gap = math.floor(gap/2)

}return arr;

},

5 歸併排序

採用分治法,將將已有序的子串行合併,得到完全有序的序列;即先使每個子串行有序,再使子串行段間有序。若將兩個有序表合併成乙個有序表,稱為二路歸併。

function sorting(arr)

let gap = math.floor(len / 2);

let left = arr.slice(0,gap);

let right = arr.slice(gap);

return merge(sorting(left),sorting(right));

}function merge(left, right)else if(!right.length)else if(left[0] > right[0])else

}return result;

}

6 快速排序

找到乙個基點,然後將陣列的每一項和該基點進行比對,比它大的放乙個陣列,比他小的放另外乙個陣列,然後將其連線在一起,一直重複以上步驟,直到陣列的長度為1時

function sorting(arr)

let base = arr[0];

for (let i = 1; i < len; i++)else

}return sorting(left).concat(base,sorting(right))

}

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)

自己整理一下資料結構的排序演算法,用js寫了一下,測試正確。插入排序 var table 32,26,87,72,26,17 for var i 0 i 0 temp0 alert i table 快速排序 快速排序是找出乙個元素 理論上可以隨便找乙個 作為基準 pivot 然後對陣列進行分割槽操作...

js排序演算法

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