- 快速排序:每次迴圈使用陣列中間位置的值按照大小,將陣列分成左右兩個部分,使用遞迴,分別對左右兩個部分執行分割操作
1 // 快速排序 2 function quickSort(arr) { 3 if (arr.length <= 1) { 4 return arr; 5 } 6 const midIndex = Math.floor(arr.length / 2); 7 const midValue = arr.splice(midIndex, 1)[0]; 8 const left = []; 9 const right = []; 10 for (const item of arr) { 11 if(item < midValue) { 12 left.push(item); 13 } else { 14 right.push(item); 15 } 16 } 17 return quickSort(left).concat([midValue], quickSort(right)); 18 } 19 20 // 測試程式碼 21 const arr = [1,4,3,25,6,9,8] 22 const result = quickSort(arr); 23 console.log("result:", result);
- 氣泡排序:迴圈長度為n的陣列,每迴圈一次將陣列中第n-1大的陣列放入陣列中正確的位置。
// 氣泡排序 function bubbleSort(arr) { if (Array.isArray(arr) && arr.length === 0) return arr; for (let index = 0; index < arr.length - 1; index++) { for (let inner = 1; inner < arr.length - 1 - index; inner++) { if (arr[inner] > arr[inner + 1]) { [arr[inner], arr[inner + 1]] = [arr[inner + 1], arr[inner]] } } } return arr; } // 測試程式碼 const bubble = [1, 4, 3, 25, 6, 9, 8] const bubbleResult = bubbleSort(arr); console.log("bubbleResult:", bubbleResult);
js陣列排序
相關文章
- js陣列排序整理JS陣列排序
- js:陣列自定義排序JS陣列排序
- js陣列排序和打亂JS陣列排序
- js 陣列返回,資料排序JS陣列排序
- js 漢字陣列按拼音排序JS陣列排序
- 陣列排序陣列排序
- 陣列的排序陣列排序
- 物件陣列排序物件陣列排序
- JavaScript 陣列排序JavaScript陣列排序
- 為什麼處理排序陣列比未排序陣列快排序陣列
- 關於js陣列方法sort()負數排序的陷阱JS陣列排序
- JS陣列JS陣列
- 陣列氣泡排序陣列排序
- 陣列選擇排序陣列排序
- 二維陣列排序陣列排序
- c# 陣列排序C#陣列排序
- 多維陣列排序陣列排序
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- 記一次陣列操作:陣列 A 根據陣列 B 排序陣列排序
- js將陣列中的字串執行字母表排序JS陣列字串排序
- vue(js) 拖拽改變排序(陣列)位置(原理及程式碼)VueJS排序陣列
- JS模擬陣列操作(新增、刪除、插入、排序、反轉)JS陣列排序
- 陣列排序函式-php陣列函式(一)陣列排序函式PHP
- js 陣列方法JS陣列
- js偽陣列JS陣列
- PHP陣列轉換為js陣列PHP陣列JS
- 陣列排序的實現陣列排序
- php 二維陣列排序PHP陣列排序
- PHP 多維陣列排序PHP陣列排序
- 二位陣列排序陣列排序
- c++陣列排序插入C++陣列排序
- 1117陣列排序的技巧陣列排序
- 二維陣列行排序陣列排序
- 陣列先去重,後排序陣列排序
- Js陣列物件的屬性值升序排序,並指定陣列中的某個物件移動到陣列的最前面JS陣列物件排序
- js 一維陣列轉二維陣列JS陣列
- js 二維陣列轉一維陣列JS陣列
- JS陣列去重 – JSON陣列去重陣列JSON