javascript 陣列快速排序
陣列排序的方式有多種多樣,下面分享一段程式碼例項,它實現了陣列快速排序。
程式碼如下:
[JavaScript] 純文字檢視 複製程式碼function quickSort(arr){ if(arr.length <= 1) return arr; var cut = Math.floor(arr.length/2); var left = [],right = []; var num = arr.splice(cut,1)[0]; for(var index = 0;index < arr.length;index ++){ if(arr[index] < num){ left.push(arr[index]); } else { right.push(arr[index]); } } return quickSort(left).concat(num,quickSort(right)); } var arr=[5,2,1,10,8,12,40,26,30]; console.log(quickSort(arr));
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
1.function quickSort(arr){},此函式實現了快速排序效果,引數就是將要進行排序的陣列。
2.if(arr.length <= 1) return arr,如果是個空陣列或者陣列只有一個元素,那麼就直接返回此陣列。
3.var cut = Math.floor(arr.length/2),將陣列的長度除以2,再進行下舍入。
4.var left = [],right = [],建立兩個孔陣列,分別用來存放小的和大的陣列元素。
5.var num = arr.splice(cut,1)[0],獲取索引為cut的陣列元素的值。
6.for(var index = 0;index < arr.length;index ++),遍歷陣列中的每一個元素。
7.if(arr[index] < num){left.push(arr[index]);},如果小於num,那麼就將資料存入left陣列。
8.else {right.push(arr[index]);},將大的寫入right陣列。
9.return quickSort(left).concat(num,quickSort(right)),再進行遞迴操作,最終會實現排序效果。
二.相關閱讀:
1.Math.floor()函式可以參閱javascript Math.floor()一章節。
2.splice()函式可以參閱javascript Array splice()一章節。
3.push()函式可以參閱javascript push()一章節。
4.concat()函式可以參閱js 陣列 concat()一章節。
相關文章
- JavaScript 陣列排序JavaScript陣列排序
- Javascript中的陣列物件排序JavaScript陣列物件排序
- Javascript陣列排序sort方法和自定義排序方法JavaScript陣列排序
- JavaScript 陣列排序 與 求最大值JavaScript陣列排序
- JavaScript 陣列中元素隨機打亂排序JavaScript陣列隨機排序
- 陣列排序陣列排序
- javascript 快速排序JavaScript排序
- 快速排序javaScript排序JavaScript
- JavaScript中陣列Array.sort()排序方法詳解JavaScript陣列排序
- 陣列的排序陣列排序
- 物件陣列排序物件陣列排序
- js陣列排序JS陣列排序
- JavaScript 陣列JavaScript陣列
- 為什麼處理排序陣列比未排序陣列快排序陣列
- Javascript - 陣列和陣列的方法JavaScript陣列
- 陣列氣泡排序陣列排序
- 陣列選擇排序陣列排序
- 二維陣列排序陣列排序
- c# 陣列排序C#陣列排序
- js陣列排序整理JS陣列排序
- 多維陣列排序陣列排序
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- 記一次陣列操作:陣列 A 根據陣列 B 排序陣列排序
- JavaScript—陣列(17)JavaScript陣列
- JavaScript 陣列 slice()JavaScript陣列
- JavaScript 陣列 fill()JavaScript陣列
- JavaScript 陣列 lastIndexOf()JavaScript陣列ASTIndex
- JavaScript 陣列 indexOf()JavaScript陣列Index
- JavaScript 陣列 concat()JavaScript陣列
- JavaScript 陣列concat()JavaScript陣列
- JavaScript 陣列slice()JavaScript陣列
- JavaScript 陣列indexOf()JavaScript陣列Index
- JavaScript 陣列values()JavaScript陣列
- JavaScript 陣列fill()JavaScript陣列
- javascript陣列操作JavaScript陣列
- JavaScript陣列(一)JavaScript陣列
- JavaScript 陣列 keys()JavaScript陣列
- JavaScript陣列(二)JavaScript陣列
- JavaScript Array 陣列JavaScript陣列