最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2019年03月02日 08:58:47   作者:白楊-M  
這篇文章主要介紹了JS使用隊列對數(shù)組排列,基數(shù)排序算法,涉及javascript隊列的定義、使用,基數(shù)排序?qū)崿F(xiàn)方法等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了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,0
distribute(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

使用在線HTML/CSS/JavaScript代碼運行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼,可得如下運行結(jié)果:

PS:這里再為大家推薦一款關(guān)于排序的演示工具供大家參考:

在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學(xué)運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)

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

相關(guān)文章

  • js實現(xiàn)網(wǎng)頁音樂播放器

    js實現(xiàn)網(wǎng)頁音樂播放器

    這篇文章主要為大家詳細介紹了js實現(xiàn)網(wǎng)頁音樂播放器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • js 將input框中的輸入自動轉(zhuǎn)化成半角大寫(稅號輸入框)

    js 將input框中的輸入自動轉(zhuǎn)化成半角大寫(稅號輸入框)

    本文主要介紹了稅號輸入框:將input框中的輸入自動轉(zhuǎn)化成半角大寫的方法,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 使用TypeScript?V8來改進您的JavaScript代碼

    使用TypeScript?V8來改進您的JavaScript代碼

    TypeScript?V8是一個強大的JavaScript類型系統(tǒng),它可以幫助你發(fā)現(xiàn)JavaScript代碼中的錯誤和潛在問題,并在編譯時捕獲它們,以便您可以解決它們,TypeScript?V8為JavaScript提供一系列的類型注釋,包括自定義類型和其他高級功能
    2023-08-08
  • 小程序開發(fā)?page-container?頁面容器彈出對話框功能的實現(xiàn)

    小程序開發(fā)?page-container?頁面容器彈出對話框功能的實現(xiàn)

    這篇文章主要介紹了小程序開發(fā)?page-container?頁面容器,彈出對話框,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • 相冊展示PhotoSwipe.js插件實現(xiàn)

    相冊展示PhotoSwipe.js插件實現(xiàn)

    這篇文章主要為大家詳細介紹了相冊展示PhotoSwipe.js插件實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 微信公眾號獲取用戶地理位置并列出附近的門店的示例代碼

    微信公眾號獲取用戶地理位置并列出附近的門店的示例代碼

    這篇文章主要介紹了微信公眾號獲取用戶地理位置并列出附近的門店的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • js實現(xiàn)的在本地預(yù)覽圖片功能示例

    js實現(xiàn)的在本地預(yù)覽圖片功能示例

    這篇文章主要介紹了js實現(xiàn)的在本地預(yù)覽圖片功能,結(jié)合實例形式分析了JavaScript兼容移動web與IE瀏覽器的圖片預(yù)覽功能相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-11-11
  • easyUI實現(xiàn)(alert)提示框自動關(guān)閉的實例代碼

    easyUI實現(xiàn)(alert)提示框自動關(guān)閉的實例代碼

    下面小編就為大家?guī)硪黄猠asyUI實現(xiàn)(alert)提示框自動關(guān)閉的實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • 小程序?qū)崿F(xiàn)點擊動畫效果

    小程序?qū)崿F(xiàn)點擊動畫效果

    這篇文章主要為大家詳細介紹了小程序?qū)崿F(xiàn)點擊動畫效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 不同js異步函數(shù)同步的實現(xiàn)方法

    不同js異步函數(shù)同步的實現(xiàn)方法

    下面小編就為大家?guī)硪黄煌琷s異步函數(shù)同步的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05

最新評論

昆明市| 清水河县| 惠州市| 横峰县| 若羌县| 天气| 德钦县| 察哈| 萍乡市| 桐柏县| 古浪县| 荃湾区| 佛坪县| 和平县| 万荣县| 三亚市| 望城县| 海阳市| 手游| 高唐县| 平谷区| 宁远县| 高碑店市| 曲靖市| 平陆县| 韶山市| 宜都市| 淮南市| 馆陶县| 金门县| 黔南| 平阳县| 察雅县| 铅山县| 县级市| 定襄县| 周宁县| 安塞县| 凤山市| 罗山县| 福海县|