<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 22, comments - 32, trackbacks - 0, articles - 73
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    package stacktest;

    /**
    * @Author: zzz
    * @CreateTime: 2017/3/28 10:52
    * @Description: 隊(duì)列特點(diǎn)(先進(jìn)先出),鏈表實(shí)現(xiàn)的隊(duì)列 在隊(duì)頭刪除元素,在隊(duì)尾插入元素。
    * 這樣才能滿足隊(duì)列的特性。
    */
    public class MyQueue<T> {
    private Node<T> front; //隊(duì)列頭,只能刪除元素

        private Node<T> rear; //隊(duì)列尾,只能用來插入入元素

        private int size;//隊(duì)列的長度

    /**
    * 初始化隊(duì)列
    */
    public MyQueue() {
    front = new Node<T>();
    rear = front;
    }

    /**
    * 鏈表的數(shù)據(jù)結(jié)構(gòu)
    */
    private class Node<T> {
    public T data;
    public Node<T> next;

    public Node(T data, Node next) {
    this.data = data;
    this.next = next;
    }

    public Node(T data) {
    this.data = data;
    }

    public Node() {
    }
    }

    public void add(T data) {
    //新插入的節(jié)點(diǎn)永遠(yuǎn)是尾節(jié)點(diǎn),它的next 指向null(即沒有后繼節(jié)點(diǎn))
            Node newNode = new Node(data, null);
    //讓尾節(jié)點(diǎn)next指向新節(jié)點(diǎn)
            rear.next = newNode;
    rear = newNode;
    size++;
    }

    public T pop() throws Exception {
    if (size < 1) {
    throw new Exception("錯(cuò)誤,隊(duì)列為空。");
    }
    Node<T> nextNode = front.next;

    front.next = nextNode.next;
    size--;
    if (size < 1) {
    rear = front;
    size = 0;
    }
    return nextNode.data;

    }

    //取隊(duì)首元素

    public T peek() throws Exception {
    if (size < 1){
    throw new Exception("錯(cuò)誤,隊(duì)列為空。");
    };
    return front.next.data;

    }
    //返回隊(duì)列的大小
    public int getSize() {
    return size;
    }

    //判斷隊(duì)列是否為空
    public boolean isEmpty() {
    return size == 0;
    }

    /**
    * 遍歷算法,移動(dòng)front指針,直到front指針追上rear指針
    */
    public void traverse(){
    for(Node currentNode=front.next; currentNode!=null; currentNode=currentNode.next ){
    System.out.println(currentNode.data);
    }
    }

    public static void main(String[] args)throws Exception{
    MyQueue<String> queue=new MyQueue<>();
    for(int i=0;i<10;i++){
    queue.add("88888-"+i);
    }

    /* for(int i=0;i<10;i++){
    String s=queue.pop();
    System.out.print(s+";");
    }*/
    queue.traverse();

    }
    }
    主站蜘蛛池模板: 免费无码又爽又刺激高潮软件| 亚洲成a人无码亚洲成av无码| 韩日电影在线播放免费版| 国产精品国产免费无码专区不卡| 亚洲一级在线观看| 国产黄色免费网站| 亚洲中文字幕久在线| 国产在线国偷精品产拍免费| 亚洲一级黄色大片| 天堂在线免费观看中文版| 亚洲日韩精品国产一区二区三区| 成年女人毛片免费观看97| 亚洲影院天堂中文av色| 在线A级毛片无码免费真人| 亚洲欧美日韩久久精品| 无码国产亚洲日韩国精品视频一区二区三区 | 免费国产高清视频| 真正全免费视频a毛片| 亚洲色图综合在线| 久久久久久成人毛片免费看| 2022年亚洲午夜一区二区福利 | 国产精品成人免费视频网站京东 | 国产精品亚洲综合一区| 久爱免费观看在线网站| 亚洲国产精品专区| 在线日韩av永久免费观看| 一本久久A久久免费精品不卡| 久久亚洲精品无码| 大地资源二在线观看免费高清| 国产精品亚洲二区在线| 亚洲精品国产字幕久久不卡| 曰批全过程免费视频播放网站 | 亚洲一级毛片在线观| 国产免费av一区二区三区| 中文字幕一区二区三区免费视频| 亚洲国产精品人久久| 青青草国产免费久久久下载| 国产99久久久国产精免费| 亚洲女人初试黑人巨高清| 日本a级片免费看| 无码免费一区二区三区免费播放|