日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

5种JavaScript中常用的排序方法

發布時間:2025/3/21 javascript 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 5种JavaScript中常用的排序方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

5種JavaScript中常用的排序方法

01、冒泡排序

通過相鄰數據元素的交換,逐步將待排序序列變為有序序列,如果前面的數據大于后面的數據,就將兩值進行交換,將數據進行從小到大的排序,這樣對數組的第0個數據到N-1個數據進行一次遍歷后,最大的一個數據就到了數組第N-1個位置,排序進行完成。

var arr1 = [1, 5, 7, 6, 0, 9, 4]; function maopao(array){if(Array.isArray(array)){if (array.length == 1) {return array;}var temp = null;for (var i = 0; i < array.length; i++) {for (var j = 0; j < array.length - i - 1; j++) {if (array[j] > array[j + 1]) {temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;}}}return array;} } console.log(maopao(arr1)); // 0,1,4,5,6,7,9

02、選擇排序

(1)在未排序序列中找到最小元素,把它放到排序序列起始位置。
(2)從剩余未排序序列中繼續尋找最小元素,然后放在排序序列末尾。
(3)以此類推,直至所有元素排序完成。

var arr2 = [1, 4, 2, 0, 3, 8, 6]; function xuanze(array) {if (Array.isArray(array)) {if (array.length == 1) {return array;}for (var i = 0; i < array.length - 1; i++) {var minIndex = i;for (var j = i + 1; j < array.length; j++) {minIndex = array[minIndex] < array[j] ? j : minIndex;}[array[i],array[minIndex]]=[array[minIndex], array[i]];}return array;} } console.log(xuanze(arr2)); // 8,6,4,3,2,1,0

03、遞歸排序(快排)

(1)從數列中取出一個數作為參考,分區過程。
(2)將比這個數大的數全放到它的右邊,小于或等于它的數全放到它的左邊。
(3)對左右區間重復第二步,直到各區間只有一個數。

var arr3 = [1, 9, 4, 2, 5, 3, 8, 6, 7, 0]; function digui(array) {if (Array.isArray(array)) {if (array.length <= 1) {return array;}var centerIndex = Math.ceil(array.length / 2);var cValue = array.splice(centerIndex, 1);var left = [];var right = [];array.forEach(function (value) {if (value > cValue) {left.push(value);}else {right.push(value);}});return digui(left).concat(cValue, digui(right));} } console.log(digui(arr3)); // 9,8,7,6,5,4,3,2,1,0

04、插入排序

將要排序的數組分成兩部分,每次從 后面的部分取出索引最小的值插入前面適當的位置。

var arr4 = [1, 9, 4, 2, 5, 3, 0, 8, 6, 7]; function charu(array) {if (Array.isArray(array)) {if (arraylength == 1) {return array;}for (var i = 1; i < array.length; i++) {var current = array[i];var preIndex = i - 1;while (preIndex >= 0 && array[preIndex] < current) {array[preIndex + 1] = array[preIndex];preIndex--;}array[preIndex + 1] = current;}return array;} } console.log(charu(arr4)); // 9,8,7,6,5,4,3,2,1,0

05、sort()

var arr5 = [1, 9, 4, 2, 5, 3, 0, 8, 6, 7]; arr5.sort(); console.log(arr5); // 0,1,2,3,4,5,6,7,8,9 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的5种JavaScript中常用的排序方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。