佇列實現棧棧實現佇列

2021-08-17 22:21:51 字數 990 閱讀 4433

佇列是一種先進先出的資料結構,要想實現先進後出,需加乙個輔助佇列進行資料的來回倒(引用交換)從而實現棧結構。

例如: --5--4--3--2--1-> 用乙個輔助佇列裝 4-3-2-1,把5彈出,在把 4-3-2-1放回原佇列,如此反覆可變成5-4-3-2-1的棧結構。

棧是一種先進後出的資料結構,要想實現先進先出,同樣也是準備2個棧,比如資料時  5-4-3-2-1->要想實現 1-2-3-4-5的出棧結構,可以在5-4-3-2-1彈出到另乙個棧-1-2-3-4-5,在從另乙個彈出即是1-2-3-4-5先進先出的順序彈出從而實現佇列結構.

coding:

public class code_stackandqueueconvert

public void push(int pushint)

public int poll() else if (stackpop.empty())

}return stackpop.pop();

}public int peek() else if (stackpop.empty())

}return stackpop.peek();}}

// 兩個佇列實現棧

public static class twoqueuesstack

public void push(int pushint)

public int peek()

while (queue.size() != -1)

int res = queue.poll();

help.add(res);

swap();

return res;

}public int pop()

while (queue.size() != -1)

int res = queue.poll();

swap();

return res;

}private void swap() }}

佇列實現棧,棧實現佇列

兩個佇列實現棧 每次進入乙個佇列,取出得時候,把所有元素進入另乙個佇列,只留下乙個元素,以此實現棧的先進後出 filo package algorithmbymyself import j a.util.linkedlist import j a.util.queue 用兩個佇列實現乙個棧 publ...

佇列實現棧以及棧實現佇列

232.用棧實現佇列 簡單 225.用佇列實現棧 簡單 佇列是一種先進先出的資料結構,棧是一種先進後出的資料結構,形象一點就是這樣 這兩種資料結構底層其實都是陣列或者鍊錶實現的,只是 api 限定了它們的特性,那麼今天就來看看如何使用 棧 的特性來實現乙個 佇列 如何用 佇列 實現乙個 棧 首先,佇...

佇列實現棧棧

使用佇列實現棧的下列操作 push x 元素 x 入棧 pop 移除棧頂元素 top 獲取棧頂元素 empty 返回棧是否為空 思路 雙佇列實現 壓入建兩個空列 核心 相當於翻轉 給乙個值,壓入a,再把b 尾刪 的值壓入 a頭插 交換 a b 輸出b列 b實際值 儲存順序 與輸入的相反 輸入 1 2...