3.用2個棧實現隊列

題目描述:用兩個棧實現一個隊列,實現對了的兩個函數 appendTail 和 deleteHead,分別完成在隊列尾插入結點和在隊列頭部刪除結點的功能。
目的:體會下不同條件需要不同處理的妙處
代碼:
package com.guanstudy;

import java.util.Stack;

/**

  • @date 2018年4月9日
  • @author junpu.guan
  • @param <T>
  • @Description: TODO

**/
public class Test<T> {

private Stack<T> stack1 = new Stack<T>();
private Stack<T> stack2 = new Stack<T>();

public void appendTail(T t) {
    stack1.push(t);
}

public T deleteHead() throws Exception {
    if (stack2.isEmpty()) {
        while (!stack1.isEmpty()) {
            stack2.push(stack1.pop());
        }
    }
    if (stack2.isEmpty()) {
        throw new Exception("隊列為空,不能刪除");
    }
    return stack2.pop();
}

public static void main(String args[]) throws Exception {
    Test<String> t7 = new Test<>();
    t7.appendTail("1");
    t7.appendTail("2");
    t7.appendTail("3");
    System.out.println(t7.deleteHead());
    t7.appendTail("4");
    System.out.println(t7.deleteHead());
    System.out.println(t7.deleteHead());
}

}

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現,斷路器,智...
    卡卡羅2017閱讀 136,715評論 19 139
  • RPC框架遠程調用的實現方式在原理上是比較簡單的,即將調用的方法(接口名、方法名、參數類型、參數)序列化之后發(fā)送到...
    謎碌小孩閱讀 3,324評論 0 13
  • 岡仁波齊,終于看到你了。 米拉山,我曾經走過的地方。 那里的歡樂留在了記憶里。 快到布達拉宮了,這里的風,這里的水...
    馬上做閱讀 175評論 0 0
  • 春節(jié)攝影系列 | 獻給所有春節(jié)還在街頭工作的你們。 老裁縫奶奶 停車門崗阿姨 賣腌水果的老奶奶 環(huán)衛(wèi)工人 小餐館老...
    極浦閱讀 158評論 2 1
  • 望月懷遠 張九齢(唐代) 海上升明月,天涯共此時。 情人怨遙夜,竟夕起相思。 滅燭憐光滿,披衣覺露滋。 不堪盈手贈...
    qiushui__lianli閱讀 84評論 0 0

友情鏈接更多精彩內容