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

首頁 > 編程 > JavaScript > 正文

JS實現利用兩個隊列表示一個棧的方法

2019-11-19 14:44:18
字體:
來源:轉載
供稿:網友

本文實例講述了JS實現利用兩個隊列表示一個棧的方法。分享給大家供大家參考,具體如下:

先看原理圖:

理清楚思路,再動筆寫:

<!DOCTYPE html><html><head>  <title>2 Queue</title>  <meta charset="utf-8"/>  <script type="text/javascript">  var arr1 = [];  var arr2 = [];    function Queue(arr){      this.push = function(element){        return arr.push(element);      }      this.pop = function(){        return arr.shift();      }      this.size = function(){        return arr.length;      }      this.display = function(){        console.log(arr);      }    }    var queue1 = new Queue(arr1);    queue1.push(1);    queue1.push(4);    queue1.push(5);    queue1.push(7);    queue1.display();    var queue2 = new Queue(arr2);    //利用兩個隊列實現棧。放在數組中打印    var res = [], k = 0;    while(queue1.size()!=0){      var len = queue1.size();      for(var i = 0; i<len-1; i++){        queue2.push(queue1.pop());      }      // 打印queue1最后一個元素,并出隊      res[k] = queue1.pop();      ++k;      // 隊列2的元素放置到隊列1中      for(var i = 0; i<len-1; i++){        queue1.push(queue2.pop());      }    }    console.log("res:" + res);    //利用兩個隊列實現棧。單個彈出    while(queue1.size()!=0){      var len = queue1.size();      for(var i = 0; i<len-1; i++){        queue2.push(queue1.pop());      }      // 打印queue1最后一個元素,并出隊      console.log(queue1.pop());      // 隊列2的元素放置到隊列1中      for(var i = 0; i<len-1; i++){        queue1.push(queue2.pop());      }    }  </script></head><body></body></html>

運行結果:

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數據結構與算法技巧總結》、《JavaScript數學運算用法總結》、《JavaScript排序算法總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調試技巧總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桦南县| 灵石县| 清水河县| 齐河县| 成武县| 凤凰县| 泽库县| 兰溪市| 嵩明县| 乐清市| 民权县| 射洪县| 刚察县| 清原| 萝北县| 宝清县| 贺兰县| 金沙县| 云安县| 宝丰县| 晋江市| 崇义县| 常山县| 平阴县| 盖州市| 霍城县| 宁化县| 新建县| 清流县| 青浦区| 茌平县| 通江县| 阳山县| 台湾省| 贡山| 福建省| 通州区| 八宿县| 洪湖市| 育儿| 乳山市|