佇列實現棧,棧實現佇列

2022-09-12 15:00:44 字數 1320 閱讀 4736

兩個佇列實現棧

每次進入乙個佇列,取出得時候,把所有元素進入另乙個佇列,只留下乙個元素,以此實現棧的先進後出(filo)。

package algorithmbymyself;

import j**a.util.linkedlist;

import j**a.util.queue;

/* 用兩個佇列實現乙個棧

* * */

public class twoqueuetostack

public void push(int num)

public int peek()

while(data.size() > 1)

int res = data.poll();

help.add(res);

swap();

return res; }

public int pop()

while(data.size() > 1)

int res = data.poll();

swap();

return res;

}public void swap()

public static void main(string args)

}

兩個棧實現佇列

注意stackpush傾倒至stackpop中時,第一stackpop要為空, 第二stackpush要全部倒進去!

package algorithmbymyself;

import j**a.util.stack;

/* * 注意stackpush傾倒至stackpop中時,

* 第一stackpop要為空,

* 第二stackpush要全部倒進去!

* */

public class twostacktoqueue

public void push(int num)

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

return stackpop.pop(); }

public int peek() else if(stackpop.isempty())

return stackpop.peek(); }

public void dao()

while(!stackpush.isempty()) }

public static void main(string args)

}

佇列實現棧棧實現佇列

佇列是一種先進先出的資料結構,要想實現先進後出,需加乙個輔助佇列進行資料的來回倒 引用交換 從而實現棧結構。例如 5 4 3 2 1 用乙個輔助佇列裝 4 3 2 1,把5彈出,在把 4 3 2 1放回原佇列,如此反覆可變成5 4 3 2 1的棧結構。棧是一種先進後出的資料結構,要想實現先進先出,同...

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

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

佇列實現棧棧

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