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计数排序算法就介绍到这了。