手机版

JS使用队列排列数组 基数排序算法示例

时间:2021-08-27 来源:互联网 编辑:宝哥软件园 浏览:

在本文中,JS使用队列来排列数组和排序基数。分享给大家参考,如下:

/* *数组按队列排列,基数排序*对于从0到99的数字,基数排序会扫描数组集两次。*第一次按一位数字排序,*第二次按十位数字排序* */函数queue () {this。datastore=[];//用于存储队列的数组,初始化为null this.enqueue=enqueue//添加一个元素this .出列=出列到队列的末尾;//删除这个,=theFront//读取元素this.back=回到队列的开头;//检查队列末尾的元素this.toStrings=toStrings//显示队列中的所有元素this.empty=empty//判断队列是否为空}函数enqueue(element){ this . datastore . push(element);}函数出列(){ return this . datastore . shift();}函数fFront(){返回this . Datastore[0];}函数back(){返回this . Datastore[this . Datastore . length-1];}函数toStrings(){ return this . datastore;}函数empty(){ if(this . Datastore . length==0){ return true;} else { return false}}/*基数排序* nums :待排序数组*队列:数组,其中元素为队列* n:队列格式,这里是10 *位数:传入1,然后先按一位数的位数排序;传入10,然后按10位数进行排序* */函数distribute (nums,queues,n,digit){ for(var I=0;I n;i ){ if(数字==1){ queues[nums[i]].入队(nums[I]);}else if(数字==10){ queues[Math . floor(nums[I]/10)]。入队(nums[I]);}else{ } }函数collect(queues,nums){ var I=0;for(var j=0;歼10;j ){ while(!队列[j]。empty()){ nums[i ]=queues[j]。出列();}}}/*测试程序*/var queues=[];for(var I=0;i 10I){ queues[I]=new Queue();} var nums=[];for(var I=0;i 10I){ nums[I]=math . floor(math . random()* 101);} console . log(' starting nums:' nums ');//24,72,90,84,49,69,8,30,50,0distribute(nums,queues,10,1);收集(队列、nums);分布式(nums,queues,10,10);收集(队列、nums);Console.log('排序后的nums:' nums ');//0,8,24,30,49,50,69,72,84,90使用在线HTML/CSS/JavaScript代码运行该工具:http://tools.jb51.net/code/HtmlJsRun测试了上述代码,得到以下运行结果:

PS:这里推荐一个排序的演示工具,供大家参考:

在线动画演示插入/选择/冒泡/合并/希尔/快速排序过程工具:http://tools.jb51.net/aideddesign/paixu_ys

更多对JavaScript相关内容感兴趣的读者可以查看本网站专题:《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》和0103010

希望本文对JavaScript编程有所帮助。

版权声明:JS使用队列排列数组 基数排序算法示例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。