ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java手写实现链表队列和数组队列【数据结构与算法】

2022-09-13 20:02:55  阅读:260  来源: 互联网

标签:Node head Java 队列 next 链表 item tail myLinkedQueue


package algorithm;

/**

  • @author Administrator

  • @date 2022-09-13 17:50
    */
    public class QueueLinked{

    private static class Node{
    E item;
    Node next;

     public Node(E item, Node<E> next) {
     	this.item = item;
     	this.next = next;
     }
    

    }

    private Node head; // 头指针
    private Node tail; // 尾指针

    public boolean enQueue (E e)
    {
    Node newNode = new Node<>(e,null);
    // 尾部入队
    if (tail == null){
    // 初始化 尾指向新加入的元素
    tail = newNode;
    // 头指向尾
    head = tail;
    return true;
    }
    else{
    // 如果初始化已经完成了 那么之后的元素就从尾部开始往后指
    tail.next = newNode;
    tail = newNode; // 尾指针的next要指向新结点 同时尾指针本身也要指向新结点
    }
    return true;
    }
    public E deQueue (){
    if (head == null)
    {
    throw new RuntimeException("队列为空!");
    }
    E item = head.item;
    head = head.next;
    return item;
    }

    public static void main(String[] args) {
    QueueLinked myLinkedQueue = new QueueLinked();
    myLinkedQueue.enQueue("11");
    myLinkedQueue.enQueue("22");

     System.out.println(myLinkedQueue.deQueue());
     System.out.println(myLinkedQueue.deQueue());
     System.out.println(myLinkedQueue.deQueue());
    

    }
    }

标签:Node,head,Java,队列,next,链表,item,tail,myLinkedQueue
来源: https://www.cnblogs.com/rainbow-1/p/16690496.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有