国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

JS使用隊列對數(shù)組排列,基數(shù)排序算法示例

2024-05-06 16:48:38
字體:
供稿:網(wǎng)友

本文實例講述了JS使用隊列對數(shù)組排列,基數(shù)排序算法。分享給大家供大家參考,具體如下:

/** 使用隊列對數(shù)組排列,基數(shù)排序*對于0~99的數(shù)字,基數(shù)排序?qū)?shù)組集掃描兩次。* 第一次按個位上的數(shù)字進行排序,* 第二次按十位上的數(shù)字進行排序* */function Queue(){  this.dataStore = [];//存放隊列的數(shù)組,初始化為空  this.enqueue = enqueue;//向隊列尾部添加一個元素  this.dequeue = dequeue;//刪除隊首的元素  this.theFront = theFront;//讀取隊首的元素  this.back = back;//對取隊尾的元素  this.toStrings = toStrings;//顯示隊列內(nèi)的所有元素  this.empty = empty;//判斷隊列是否為空}function enqueue(element){  this.dataStore.push(element);}function dequeue(){  return this.dataStore.shift();}function theFront(){  return this.dataStore[0];}function back(){  return this.dataStore[this.dataStore.length-1];}function toStrings(){  return this.dataStore;}function empty(){  if(this.dataStore.length == 0){    return true;  }else{    return false;  }}/*基數(shù)排序* nums :需要排序的數(shù)組* queues :數(shù)組,里面元素是隊列* n :隊列的格式,這里為10個* digit :傳入1,則先按個位上的數(shù)字排序;傳入10,則按十位上的數(shù)字排序 * */function distribute(nums,queues,n,digit){  for(var i = 0;i < n;i++){    if(digit == 1){      queues[nums[i]%10].enqueue(nums[i]);    }else if(digit == 10){      queues[Math.floor(nums[i]/10)].enqueue(nums[i]);    }else{    }  }}function collect(queues,nums){  var i = 0;  for(var j = 0;j < 10;j++){    while(!queues[j].empty()){      nums[i++] = queues[j].dequeue();    }  }}/*測試程序*/var queues = [];for(var i = 0;i < 10;i++){  queues[i] = new Queue();}var nums = [];for(var i = 0;i < 10;i++){  nums[i] = Math.floor(Math.random()*101);}console.log("開始的nums: "+nums);//24,72,90,84,49,69,8,30,50,0distribute(nums,queues,10,1);collect(queues,nums);distribute(nums,queues,10,10);collect(queues,nums);console.log("排序后的nums: "+nums);//0,8,24,30,49,50,69,72,84,90

可得如下運行結(jié)果:

JS,隊列,數(shù)組排列,基數(shù)排序算法

希望本文所述對大家JavaScript程序設(shè)計有所幫助。


注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 茌平县| 哈尔滨市| 奉新县| 拉萨市| 宾阳县| 五莲县| 岳阳市| 澄城县| 平谷区| 石嘴山市| 花莲市| 沁水县| 琼结县| 马山县| 浑源县| 广西| 陆丰市| 星子县| 玛多县| 连州市| 彰化市| 寿宁县| 林西县| 灵寿县| 四平市| 肇庆市| 吐鲁番市| 大安市| 邢台县| 磐石市| 秦皇岛市| 巴彦淖尔市| 石河子市| 读书| 城固县| 鄂州市| 保山市| 沁水县| 家居| 德兴市| 文昌市|