精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

隊列實現棧&棧實現隊列

開發 前端
給你兩個棧你如何實現一個隊列,給你兩個隊列你如何實現一個棧。本文就跟大家分享下這兩個問題的解決思路與實現過程,歡迎各位感興趣的開發者閱讀本文。

[[384374]]

本文轉載自微信公眾號「神奇的程序員K」,作者神奇的程序員K。轉載本文請聯系神奇的程序員K公眾號。

前言

給你兩個棧你如何實現一個隊列,給你兩個隊列你如何實現一個棧。

本文就跟大家分享下這兩個問題的解決思路與實現過程,歡迎各位感興趣的開發者閱讀本文。

問題分析

我們先來看下棧與隊列的特性:

  • 棧:最先加入的元素最后出
  • 隊列:最先加入的元素最先出

有關棧與隊列的詳細講解請移步我的另一篇文章:數據結構:棧與隊列

有了棧與隊列的理論基礎后,我們就可以利用其特性來分析問題了,我們先來看下如何用棧來實現隊列:

  • 我們的已知條件只有兩個棧,將這兩個棧進行標識:棧1、棧2
  • 執行入隊操作時,我們元素放進棧1。
  • 執行出隊操作時:
    • 把棧1的元素壓入棧2
    • 棧2頂部元素出棧

上述思路中,我們用棧1來存儲元素,我們知道棧的規則是先進后出,因此我們將棧1的元素壓入棧2后,將棧2元素出棧時,剛好符合隊列的特性。

接下來,我們來看下如何用隊列來實現棧:

  • 同樣的,我們的已知條件有兩個隊列,將這兩個隊列進行標識:隊列1,隊列2
  • 執行入棧操作時,將元素放進隊列1
  • 執行出棧操作時:
    • 如果隊列2為空,我們將隊列1中除隊首外的元素放進隊列2
    • 如果隊列2不為空,我們將隊列2的元素放進隊列1
    • 隊列1元素出隊

上述思路中,我們將元素都放入了隊列1,出棧時,我們只保留隊列1的隊首元素,其他元素全部放入了隊列2,隨后將隊列2的元素又放回了隊列1,最后將隊列1的元素出隊,經過我們的這番倒騰后,剛好符合了棧的特性。

實現代碼

經過上述分析,我們有了實現思路,接下來我們就將上述思路轉化為具體的代碼,下述代碼中將引入我們之前寫好的隊列與棧的實現代碼,對此不了解的開發者請移步我的另外兩篇文章:數組實現棧與對象實現棧、隊列與雙端隊列的實現

棧實現隊列

  • 創建StacksAndQueues類文件,聲明解決本文問題所需要的變量
  1. // 棧與隊列的相關操作 
  2. import Stack from "../../StackTest/lib/Stack.ts"
  3. import Queue from "../../QueueTest/lib/Queue.ts"
  4.  
  5. export default class StacksAndQueues { 
  6.     private firstStacks: Stack; 
  7.     private secondStacks: Stack; 
  8.     private firstQueues: Queue; 
  9.     private secondQueues: Queue; 
  10.  
  11.     constructor() { 
  12.         this.firstStacks = new Stack(); 
  13.         this.secondStacks = new Stack(); 
  14.         this.firstQueues = new Queue(); 
  15.         this.secondQueues = new Queue(); 
  16.     } 
  • 實現入隊函數
  1. // 入隊 
  2.     enqueue(key: string | number): void { 
  3.         // 入棧1 
  4.         this.firstStacks.push(key); 
  5.     } 
  • 實現出隊函數
  1. // 出隊 
  2.    dequeue() { 
  3.        while (!this.firstStacks.isEmpty()) { 
  4.            this.secondStacks.push(this.firstStacks.pop()); 
  5.        } 
  6.        if (!this.secondStacks.isEmpty()) { 
  7.            // 出棧2 
  8.            return this.secondStacks.pop(); 
  9.        } 
  10.        return null
  11.    } 

接下來,我們通過一個例子來驗證下上述代碼能否正常執行:

  1. import StacksAndQueues from "./lib/StacksAndQueues.ts"
  2.  
  3. // 用棧實現隊列 
  4. const stacksAndQueues = new StacksAndQueues(); 
  5. stacksAndQueues.enqueue(3); 
  6. stacksAndQueues.enqueue(9); 
  7. stacksAndQueues.enqueue(12); 
  8. console.log("出隊", stacksAndQueues.dequeue()); 
  9. console.log("出隊", stacksAndQueues.dequeue()); 
  10. console.log("出隊", stacksAndQueues.dequeue()); 

 

隊列實現棧

  • 實現入棧函數
  1. // 入棧 
  2.    stackPush(key: string | number) { 
  3.        // 入隊1 
  4.        this.firstQueues.enqueue(key); 
  5.    } 
  • 實現出棧函數
  1. // 出棧 
  2.     stackPop() { 
  3.         if (this.firstQueues.isEmpty()) { 
  4.             return null
  5.         } 
  6.         // 隊列2為空 
  7.         if (this.secondQueues.isEmpty()) { 
  8.             while (this.firstQueues.size() != 1) { 
  9.                 // 將隊列1除隊首外的元素放進隊列2 
  10.                 this.secondQueues.enqueue(this.firstQueues.dequeue()); 
  11.             } 
  12.         } 
  13.  
  14.         // 隊列2不為空 
  15.         while (!this.secondQueues.isEmpty()) { 
  16.             // 將隊列2的元素放進隊列1 
  17.             this.firstQueues.enqueue(this.secondQueues.dequeue()); 
  18.         } 
  19.         // 隊列1出隊 
  20.         return this.firstQueues.dequeue(); 
  21.     } 
  • 接下來,我們通過一個例子來驗證下上述代碼能否正常執行:
  1. // 隊列實現棧 
  2. stacksAndQueues.stackPush(3); 
  3. stacksAndQueues.stackPush(9); 
  4. stacksAndQueues.stackPush(12); 
  5. console.log("出棧", stacksAndQueues.stackPop()); 
  6. console.log("出棧", stacksAndQueues.stackPop()); 
  7. console.log("出棧", stacksAndQueues.stackPop()); 

 

代碼地址

本文實現代碼的完整地址如下:

  • StacksAndQueues.ts

 

責任編輯:武曉燕 來源: 神奇的程序員k
相關推薦

2022-08-11 08:03:43

隊列

2024-02-02 08:25:34

隊列與棧Python數據結構

2015-09-10 08:46:15

Java面試題

2021-09-08 09:52:34

語言

2020-12-17 10:12:33

數據結構算法隊列

2020-10-28 10:10:03

Java單鏈表數據結構

2020-10-26 08:19:53

算法隊列

2023-12-28 09:55:08

隊列數據結構存儲

2020-11-02 08:18:11

隊列數據

2021-03-27 11:02:04

JavaScript隊列編程語言

2012-03-29 15:15:49

Java

2020-08-10 14:46:30

JavaScriptStack

2011-11-09 14:59:37

LwIP協議棧

2023-09-05 15:48:14

RabbitMQ延遲隊列

2017-05-02 22:38:44

前端開發JS事件循環機制

2023-10-10 13:39:53

Spring隊列優化

2011-04-11 11:23:17

隊列數據結構

2017-04-12 10:02:21

Java阻塞隊列原理分析

2024-03-22 12:10:39

Redis消息隊列數據庫

2024-07-16 18:05:19

延遲隊列MQRabbitMQ
點贊
收藏

51CTO技術棧公眾號

国产精品国产亚洲伊人久久 | 亚洲国产欧美不卡在线观看| 无码人妻精品一区二区三区蜜桃91 | 欧美日本一道本| 亚洲小视频在线播放| 天天干天天爽天天操| 美国一区二区三区在线播放| 欧美人在线视频| 熟女人妻在线视频| 国产精品va视频| 欧美性高跟鞋xxxxhd| 亚洲欧洲日韩精品| 色婷婷综合视频| 精品一区二区三区免费观看 | 综合国产精品久久久| 天天干天天色天天| 国产精品一区在线| 国产精品久久久久久影视| 国产一级片播放| 国产精品成久久久久| 精品亚洲一区二区| 韩国三级hd中文字幕有哪些| 国产在视频一区二区三区吞精| 精品国产福利在线| 国产成人一二三区| 欧美高清视频| 91蜜桃网址入口| 99国产在线视频| 一级黄色大片免费| 模特精品在线| 午夜免费日韩视频| 九九视频在线观看| 日韩不卡一区| 亚洲性夜色噜噜噜7777| 朝桐光av一区二区三区| 51精品国产| 欧美一区二区三区色| 天天干天天操天天玩| 春暖花开亚洲一区二区三区| 午夜在线成人av| 97中文字幕在线| 怡红院在线观看| 亚洲人成精品久久久久久| 日韩精品无码一区二区三区| 欧美亚洲日本| 久久久久国色av免费看影院| 国产日韩欧美精品综合| 色网站在线看| 久久看人人摘| 亚洲女成人图区| 香港三级日本三级| 在这里有精品| 欧美成人一区二区三区在线观看| 国产精品普通话| 国产91丝袜美女在线播放| 亚洲精品合集| 日韩高清a**址| 五十路六十路七十路熟婆| 国产精品一线| 亚洲国产欧美日韩精品| 一起草在线视频| 欧美一级三级| 亚洲欧洲激情在线| 永久免费毛片在线观看| 欧美日韩色图| 精品国产依人香蕉在线精品| 日韩欧美在线视频播放| 亚洲v在线看| 美乳少妇欧美精品| 精品少妇一二三区| 在线视频亚洲| 国产盗摄xxxx视频xxx69| 最新中文字幕第一页| 精品一区二区三区不卡| 99re在线播放| 天堂а在线中文在线无限看推荐| 久久久精品tv| 中文字幕人成一区| 第四色日韩影片| 丰满岳妇乱一区二区三区| 久久九九国产视频| 亚洲爽爆av| 亚洲第一福利网站| 97人妻精品一区二区免费| 日韩久久综合| 欧美精品久久一区二区| 国产午夜无码视频在线观看| 国内精品自线一区二区三区视频| av资源站久久亚洲| 青青草av免费在线观看| 综合久久久久久| 欧美一区二区中文字幕| 97精品国产综合久久久动漫日韩 | 夜夜狠狠擅视频| 国产成人啪免费观看软件| 欧美日韩国产综合视频在线| 免费av网站在线观看| 偷拍日韩校园综合在线| 在线观看国产一级片| 欧美视频三区| 亚洲男人天堂手机在线| 国产大片免费看| 性欧美暴力猛交另类hd| 亚洲永久在线观看| 香蕉av在线播放| 亚洲欧美福利一区二区| 成人黄色片视频| 亚洲91网站| 这里只有精品视频在线| 日本一级黄色大片| 韩国视频一区二区| 欧美午夜精品理论片a级大开眼界 欧美午夜精品久久久久免费视 | 成人三级毛片| 国产亚洲欧美另类中文| 国产一级片免费看| 紧缚捆绑精品一区二区| 欧美精品国产精品久久久 | 手机福利在线| 一区二区三区久久久| 91小视频网站| 婷婷激情久久| 97国产精品免费视频| 国产精品欧美久久久久天天影视| 久久精品亚洲精品国产欧美kt∨| a级黄色片免费| 久久亚洲精品中文字幕| 亚洲另类欧美自拍| 日韩视频免费观看高清| 国产福利一区二区三区| 一区二区三区的久久的视频| 日韩欧美少妇| 亚洲人午夜精品免费| 久久久国产高清| 丁香啪啪综合成人亚洲小说 | 国产精品一区二区久久久久| 精品视频一区在线| 亚洲福利在线观看视频| 国产精品午夜春色av| 免费在线激情视频| 农村少妇一区二区三区四区五区| 久久成年人视频| 成人h动漫精品一区二区下载| 中国色在线日|韩| 欧美午夜精品久久久久久超碰| 亚洲AV无码国产精品| 在线成人h网| 99久久久精品免费观看国产 | 国产女人高潮时对白| 国产精品天干天干在观线| 五月婷婷之综合激情| av伊人久久| 国产精品免费福利| 欧美极品视频| 日韩一区二区免费高清| 欧美人禽zoz0强交| 丰满少妇久久久久久久| 成人性生活视频免费看| 精品福利网址导航| 91爱视频在线| 精品999视频| 欧美视频一区二| 日韩在线视频免费看| 激情综合网激情| 大荫蒂性生交片| 欧美变态网站| 日本精品久久中文字幕佐佐木| 精品亚洲综合| 在线播放视频一区| 久久久国产成人| 91影院在线免费观看| 久久精品99国产| 欧美gayvideo| 国产精品v欧美精品v日韩精品 | 91成人影院| 波多野结衣成人在线| 大菠萝精品导航| 国产一区二区日韩| 国产精品国产三级国产普通话对白| 亚洲品质自拍视频网站| 蜜臀av粉嫩av懂色av| 久久激情久久| 久久久久久久久影视| 欧美三级午夜理伦三级在线观看| 国产福利视频一区二区| 国产福利视频在线| 日韩成人在线网站| 一区二区久久精品66国产精品 | 久久久久久一级片| 九九九九九伊人| 一本综合久久| 一区二区三区四区久久| 伦理一区二区| 91精品美女在线| 松下纱荣子在线观看| 日韩专区在线观看| 午夜一区在线观看| 91精品国产丝袜白色高跟鞋| 九一国产在线观看| 亚洲欧美日韩一区二区三区在线观看| 日韩免费高清一区二区| 久久国产精品无码网站| 欧美,日韩,国产在线| 国产精品99久久精品| 欧美日韩国产精品一区二区| 精品视频一二| 国产精品久久久av久久久| 国产乱妇乱子在线播视频播放网站| 亚洲图片在区色| 乱精品一区字幕二区| 欧美精品一卡二卡| 日本一本在线观看| 午夜在线成人av| 欧美色图亚洲天堂| 国产精品美女久久久久久久久久久| 视频免费在线观看| 国产高清久久久久| 超碰影院在线观看| 国产一级一区二区| www.avtt| 女生裸体视频一区二区三区| 午夜精品电影在线观看| 中文字幕av一区二区三区人| 国产精品免费一区二区| 成人污版视频| 国产精品视频地址| 欧美暴力调教| 日本成人免费在线| 免费在线小视频| 久久久久这里只有精品| 亚洲小说区图片区都市| 久久久成人精品视频| 日韩美女网站| 日韩中文字幕视频| 亚洲成人影院麻豆| 中文字幕在线看视频国产欧美在线看完整 | 国产精品久久毛片av大全日韩| 成人无码www在线看免费| 成人性生交大片免费看中文| 欧美色图校园春色| 国产剧情一区二区| 日本黄色www| 国产美女精品一区二区三区| 在线一区二区不卡| 精品在线观看免费| 天堂网成人在线| 国产精品一区二区在线观看网站 | 久精品免费视频| 最新av在线播放| 欧美疯狂xxxx大交乱88av| 羞羞网站在线看| 久久久噜噜噜久噜久久| 岛国毛片av在线| 欧美在线视频免费| 吞精囗交69激情欧美| 国产精品99久久久久久久久久久久| 成人va天堂| 国产精品亚洲视频在线观看| 欧美v亚洲v综合v国产v仙踪林| 国产综合福利在线| 欧美高清hd| 国产综合 伊人色| 国产成人影院| 亚洲欧美日韩国产成人综合一二三区| 日韩大片在线| 超碰10000| 亚洲一区免费| 日日噜噜噜噜久久久精品毛片| 久久精品99久久久| 绯色av蜜臀vs少妇| 99国产一区二区三精品乱码| 亚洲色成人网站www永久四虎| 中日韩免费视频中文字幕| 亚洲综合网在线| 午夜国产精品影院在线观看| 男人天堂av在线播放| 欧美体内she精视频| 国产视频在线一区| 亚洲国产精品成人av| 国产毛片在线看| 另类天堂视频在线观看| cao在线视频| 国产精品免费久久久久影院| 视频免费一区二区| 免费成人深夜夜行视频| 小小影院久久| heyzo亚洲| 精品一区二区三区av| 一级特级黄色片| 中文字幕一区二区三区在线观看| 久久丫精品久久丫| 欧美性猛交一区二区三区精品| 国产chinasex对白videos麻豆| 亚洲精品一区二区网址| 2020国产在线视频| 青青草一区二区| 亚洲网一区二区三区| 亚洲成色www久久网站| 亚洲视频观看| 九九九九九国产| 91蜜桃网址入口| 久久久夜色精品| 欧美日韩在线三区| 神马久久高清| 欧美情侣性视频| 巨大黑人极品videos精品| 九九九九精品九九九九| 亚洲综合自拍| 国产精品乱码久久久久| 成人18精品视频| 强制高潮抽搐sm调教高h| 色婷婷一区二区| 欧美一级特黄aaaaaa大片在线观看| 最新的欧美黄色| 婷婷六月国产精品久久不卡| 狠狠色综合网站久久久久久久| 欧美在线亚洲| 色www免费视频| 久久精品亚洲国产奇米99| 国产亚洲精品码| 777xxx欧美| 伊人免费在线| 国产成人欧美在线观看| 西野翔中文久久精品国产| 免费的av在线| 精品一区二区免费看| 91l九色lporny| 日韩欧美在线一区| 天天射天天操天天干| 国模极品一区二区三区| 一区二区三区国产好| 国产精品88久久久久久妇女| 久久精品99久久久| 2014亚洲天堂| 精品1区2区3区| 午夜免费播放观看在线视频| 国产精品高潮呻吟视频| 久久不见久久见中文字幕免费| 国产黄色一级网站| 99久久精品情趣| 日本中文字幕在线免费观看| 亚洲国产一区二区三区四区| caoporn-草棚在线视频最| 国产精品日韩一区二区| 韩国亚洲精品| 日韩精品人妻中文字幕有码| 午夜精品成人在线视频| 深夜福利视频网站| 欧美亚洲伦理www| 美日韩中文字幕| 五月婷婷丁香综合网| 国产精品免费丝袜| 国产乱淫a∨片免费观看| 欧美另类极品videosbestfree| 日韩精品成人| 丰满的少妇愉情hd高清果冻传媒| 成人免费的视频| 欧美三级一区二区三区| 亚洲欧美制服中文字幕| 成人看片网页| 国产高清精品软男同| 国产成人亚洲综合a∨婷婷| 国产真人真事毛片| 日韩电影中文字幕在线| 欧美精选视频一区二区| 日本不卡一区二区三区四区| 成人一区二区视频| 国偷自拍第113页| 色综合亚洲精品激情狠狠| 九九九九九九精品任你躁| 人人妻人人澡人人爽欧美一区| 99国产精品久久久久久久久久久| 6080午夜伦理| 日韩一区二区三区国产| 视频一区中文字幕精品| 北条麻妃69av| 中文av一区特黄| 黄色av小说在线观看| 日本亚洲欧美三级| 亚洲人metart人体| 人妖粗暴刺激videos呻吟| 欧美在线小视频| av免费在线免费| 欧美一区三区二区在线观看| 久久97超碰国产精品超碰| 香蕉视频一区二区| 夜夜躁日日躁狠狠久久88av| 清纯唯美激情亚洲| 成人午夜视频免费在线观看| 亚洲色图.com| 理论视频在线| 99在线热播| 日本欧美大码aⅴ在线播放| 欧美交换国产一区内射| 亚洲免费人成在线视频观看| 欧洲大片精品免费永久看nba| 中国丰满人妻videoshd| 亚洲欧美日韩国产综合在线| 色哟哟在线观看| 粉嫩高清一区二区三区精品视频| 日韩国产欧美三级|