数据结构与算法--4.使用堆栈模拟队列
生活随笔
收集整理的這篇文章主要介紹了
数据结构与算法--4.使用堆栈模拟队列
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
問題:
- 隊列的插入和刪除遵循先入先出的原則,而堆棧遵循后進先出的原則。
- 用兩個堆棧模擬隊列,要求實現(xiàn)時不能分配超過O(1)的內存,時間復雜度必須是o(m)。
思路:
- 用兩個堆棧模擬隊列,必須要支持兩種操作,enqueue和dequeue,前者在隊列末尾加入一個元素,后者把隊列頭部的元素取出。
- 步驟一:通過enqueue連續(xù)將“12345”插入隊列,這5個數(shù)在堆棧A中的排列是“12345”,即1在底部,5在頂部。
- 步驟二:調用dequeue操作將1取出,即將A中元素依次彈出,壓入堆棧B,于是堆棧B隊列中為“54321”,也就是5在底部,1在頂部,于是直接把B的頂部元素彈出即可。
運行結果:
enqueue: 012345 dequeue: 012345總結
以上是生活随笔為你收集整理的数据结构与算法--4.使用堆栈模拟队列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【元胞自动机】基于matlab元胞自动机
- 下一篇: R语言元胞自动机单车道代码_一维单车道交