排序原理:首先找到数组中的最大值,然后从0开始按1(0、1、2、3、…、max )进行相加。 然后,判断数组内的数量是否等于,如果相等,则丢入新数组,排序完成
此排序使用数组最大值的方法。 如下所示
varmax=math.max.apply(null,arr ) function zichuang (arr )//参数为任意数组varmax=math.max.apply(null,arr ); //获取数组的最大值很简单:质疑。 (Math.max.apply ) )获取数组最大值的方法)//console.log(max ) var newArr=[]; //创建新的序列for (vari=0; i=max; I () /第一层循环从0到最大值max结束for (varj=0; j arr.length; j () /第二层遍历旧数组if(ARR[j]==I ) (newARR.push ) ARR[j] ) /如果数组具有与第一层循环的数量相等的数量,则将其添加到新数组中) } 如果数组为[ 1,1000 ],则循环的次数仍然是1000次,因为循环的次数等于数组中最大值的次数。
此排序缺点:您可以同时完成排序、重量和计数。