JavaScript計數排序演算法
本章節簡單介紹一下計數排序的,下面是一段簡單的程式碼例項,有興趣的朋友可以自行分析一下,這裡就不多介紹了,只是簡單介紹一下實現原理,程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼function countSort(arr,min,max){ var i,z=0,count=[]; for (i=min;i<=max;i++){ count[i] = 0; } for(i=0;i<arr.length;i++){ count[arr[i]]++; } for(i=min;i<=max;i++){ while(count[i]-- >0){ arr[z++]=i; } } return arr; } var i,arr=[]; for(i=0;i<100;i++){ arr.push(Math.floor(Math.random()*(30))); } console.log(countSort(arr,0,140));
實現原理簡單介紹:
(1).找出待排序的陣列中最大和最小的元素。
(2).統計陣列中每個值為i的元素出現的次數,存入陣列Count_arr的第i項。
(3).對所有的計數累加(從Count_arr中的第一個元素開始,每一項和前一項相加)。
(4).反向遍歷原陣列:將每個元素i放在新陣列的第Count_arr(i)項,每放一個元素就將Count_arr(i)減去1。
相關文章
- 排序演算法__計數排序排序演算法
- 演算法系列:計數排序演算法排序
- 【資料結構與演算法】非比較排序(計數排序、桶排序、基數排序)資料結構演算法排序
- 排序演算法__基數排序排序演算法
- 計數排序、桶排序和基數排序排序
- 圖解JavaScript演算法排序圖解JavaScript演算法排序
- javaScript隨機排序演算法JavaScript隨機排序演算法
- 計數排序vs基數排序vs桶排序排序
- 計數排序排序
- 【演算法】基數排序演算法排序
- JavaScript實現常用排序演算法JavaScript排序演算法
- Java排序之計數排序Java排序
- 計數排序的原址排序排序
- 【資料結構與演算法】內部排序之五:計數排序、基數排序和桶排序(含完整原始碼)資料結構演算法排序原始碼
- 排序演算法-N個正整數排序排序演算法
- 手寫演算法並記住它:計數排序演算法排序
- 非交換排序-計數排序和桶排序排序
- JavaScript實現經典排序演算法JavaScript排序演算法
- 搞定JavaScript演算法系列--快速排序JavaScript演算法排序
- JavaScript 排序演算法(O log(N)等)JavaScript排序演算法
- JavaScript中的多種排序演算法JavaScript排序演算法
- JavaScript 中常見排序演算法詳解JavaScript排序演算法
- 常用排序演算法之JavaScript實現排序演算法JavaScript
- 資料結構與演算法——排序演算法-基數排序資料結構演算法排序
- 看動畫學演算法之:排序-基數排序動畫演算法排序
- C#基數排序演算法C#排序演算法
- 九種排序演算法的 JavaScript 實現排序演算法JavaScript
- Javascript常見排序演算法的筆記JavaScript排序演算法筆記
- JavaScript實現的7種排序演算法JavaScript排序演算法
- javascript希爾排序演算法程式碼例項JavaScript排序演算法
- 常見的三種排序演算法(選擇,冒泡,計數)排序演算法
- 如何使用Python語言實現計數排序演算法?Python排序演算法
- 經典十大排序演算法(含升序降序,基數排序含負數排序)排序演算法
- 基於桶的排序之計數排序排序
- (戀上資料結構筆記):計數排序、基數排序 、桶排序資料結構筆記排序
- 【JavaScript快速排序演算法】不同版本原理分析JavaScript排序演算法
- 優雅的 JavaScript 排序演算法(ES6)JavaScript排序演算法
- javascript排序各種演算法例項程式碼JavaScript排序演算法