用兩個棧模擬乙個佇列的情況
建立兩個棧a b,a專門用來入佇列,b專門用來出佇列
1.實現入佇列:先把b中的元素搬運到a中,然後把新元素往a中入棧即可
2.實現出佇列:先把a中的元素搬運到b中,然後對b直接出棧即可
3.取棧頂元素:先把a中的元素搬運到b中,然後取b的棧頂元素即可
4.判空:a b都為空
**如下:
public
class
queuebystack
//把新元素往a中入棧即可
a.push
(x);
}//出佇列
public integer pop()
//2.把a中的元素搬運到b中
while
(a.isempty()
)//3.針對b進行出棧
return b.
pop();
}//取棧頂元素
public integer peek()
//2.把a中的元素搬運到b中
while
(a.isempty()
)//3.取出b的棧頂元素
return b.
peek()
;}//判空
public
boolean
empty()
}
用棧實現佇列 用佇列實現棧
棧的特點 filo firstinlastout 僅能從棧頂插入,刪除元素。最基本的介面包括push 從棧頂壓入元素 pop 從棧頂彈出元素 佇列的特點 fifo firstinfirstout 僅能從隊頭刪除元素,從隊尾插入元素。最基本的介面包括enque 從隊尾插入元素 deque 從隊頭刪除元...
用棧實現佇列,用佇列實現棧。好玩!!!
因為在資料結構中,棧和佇列長得實在是太像了,將他們拿來比較是不可避免的,棧 後進先出,而佇列 先進先出。同樣是只能在一端進行操作,那麼問題來了,能相互實現?能不能得好好分析一下嘛,如果是用兩個棧來實現佇列,好像這操作可以哦。一下,你就明白!顯然用兩個棧可以實現佇列的功能,就是借助另乙個棧來中轉一下,...
232 用棧實現佇列 225 用佇列實現棧
用棧實現佇列 佇列是先進先出,實現佇列的最直觀的方法是用鍊錶。但本題是要求使用棧。本題兩個stack相互倒,負負得正 class myqueue def init self self.instack self.outstack defpush self,x def pop self if len s...