如何使用兩個棧實現(xiàn)隊列Java
這篇文章主要介紹了如何使用兩個棧實現(xiàn)隊列Java,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
題目
用兩個棧來實現(xiàn)一個隊列,完成隊列的Push和Pop操作。 隊列中的元素為int類型。
題解
描述
棧的特性是先進后出,隊列的特點是先進先出,當(dāng)數(shù)字依次入棧1后,依次出棧1并且壓入棧2后,然后再出棧的順序與進入棧1的順序是一致的。
因此,進入隊列通過壓入棧1實現(xiàn),彈出隊列通過彈出棧2的棧頂元素實現(xiàn),在彈出元素時需要保證當(dāng)前棧彈出元素的順序和隊列彈出元素的順序一致,即棧1的元素應(yīng)當(dāng)全部壓入到棧2中。
code
import java.util.Stack;
public class Solution {
Stack<Integer> stack1 = new Stack<Integer>();
Stack<Integer> stack2 = new Stack<Integer>();
public void push(int node) {
//直接入stack1棧
stack1.push(node);
}
public int pop() {
//若stack2為空
if(stack2.isEmpty()){
while(!stack1.isEmpty()){
stack2.push(stack1.pop());
}
}
return stack2.pop();
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java 棧和隊列的相互轉(zhuǎn)換詳解
- Java深入了解數(shù)據(jù)結(jié)構(gòu)之棧與隊列的詳解
- Java數(shù)據(jù)結(jié)構(gòu)之棧與隊列實例詳解
- Java數(shù)據(jù)結(jié)構(gòu)專題解析之棧和隊列的實現(xiàn)
- Java數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)之棧和隊列
- Java特性隊列和棧的堵塞原理解析
- Java數(shù)據(jù)結(jié)構(gòu)之鏈表、棧、隊列、樹的實現(xiàn)方法示例
- Java編程用兩個棧實現(xiàn)隊列代碼分享
- Java棧和基礎(chǔ)隊列的實現(xiàn)詳解
相關(guān)文章
Java 中函數(shù) Function 的使用和定義示例小結(jié)
這篇文章主要介紹了Java 中函數(shù) Function 的使用和定義小結(jié),本文通過實例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-07-07
springboot整合JavaCV實現(xiàn)視頻截取第N幀并保存圖片
這篇文章主要為大家詳細(xì)介紹了springboot如何整合JavaCV實現(xiàn)視頻截取第N幀并保存為圖片,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-08-08
java開發(fā)Dubbo負(fù)載均衡與集群容錯示例詳解
這篇文章主要為大家介紹了java開發(fā)Dubbo負(fù)載均衡與集群容錯示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-11-11
Spring?Boot?+?Spring?Batch?實現(xiàn)批處理任務(wù)的詳細(xì)教程
這篇文章主要介紹了Spring?Boot+Spring?Batch實現(xiàn)批處理任務(wù),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08
Java拷貝數(shù)組方法Arrays.copyOf()是地址傳遞的證明實例
今天小編就為大家分享一篇關(guān)于Java拷貝數(shù)組方法Arrays.copyOf()是地址傳遞的證明實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10

