首页 > 编程语言 >Java手写实现链表队列和数组队列【数据结构与算法】

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

时间:2022-10-03 23:34:40浏览次数:101  
标签: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());

}
}

好看请赞,养成习惯:) ,作者:靠谱杨​, ​

关于笔者:​​ 我的主页 ​

文章同步51CTO,可以帮忙踩一踩 ~ ​​我的51CTO博客​

更多日常分享尽在我的VX公众号:小杨的挨踢IT生活

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



标签:Node,head,Java,队列,next,链表,item,tail,myLinkedQueue
From: https://blog.51cto.com/reliableyang/5730621

相关文章

  • Java手写实现栈【数据结构与算法】
    packagealgorithm;importjava.util.Arrays;importjava.util.Iterator;/**@authorAdministrator@date2022-09-1216:38数组栈*/publicclassMyArrayStack{//定义......
  • Java 四则运算 继承版
    packageT1;importjava.util.Scanner;publicclassA_Text{staticinttitle_n=30;staticScannercin=newScanner(System.in);publicstaticvoidmain(......
  • HDU-5380 Travel with candy(贪心+单调队列)
    TravelwithcandyTimeLimit:2000/1000MS(Java/Others)    MemoryLimit:262144/262144K(Java/Others)TotalSubmission(s):396    AcceptedSubmission(s)......
  • Java中的多态
    Java中的多态一、多态的概述1、同一个对象,在不同时刻表现出来的不同形态2、多态的前提和体现有继承/实现关系有方法重写有父类引用指向子类对象3、代码示例:......
  • LeetCode92 反转链表
     idea:参考上一道全部反转,所以反转链表部分代码实现,我觉得重点在于集中不同情况的分类讨论。一共四类情况需要考虑,有前有后,有前无后,有后无前,无前无后。 /** * Def......
  • java基础 Arrays.sort()用法
    1.作用对数组按照一定顺序排列,默认为升序。排列过程中为快排,不需要额外的空间,也不需要重新定义一个数组来接收它。示例:publicclassTest{publicstaticvoidm......
  • 每天一个小java练习(牢子好可爱啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊)2022.10.1
    练习题:接收用户输入的3个整数,并将它们的最大值作为结果输出:下面是我的代码以及运行截图啦啦啦啦:  这个本身很基础,,但是涉及到了?:的用法,就记录一下......
  • 力扣205(java)-同构字符串(简单)
    题目:给定两个字符串 s 和 t ,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。每个出现的字符都应当映射到另一......
  • 程序、进程和线程 Java多线程的状态【杭州多测师】【杭州多测师_王sir】
    CPU是以时间片的方式为进程分配CUP处理时间的,如果当一个进程同时要完成几件事的时候,如当从网上下载文件的时候,需要一边下载一边显示进度而且还要一边保存,如果按照单线程的......
  • java网络编程--4 UDP
    java网络编程--4UDP1.7、UDP发短信:不用连接,但是需要知道对方的地址主要包含两个类:DatagramPacket和DatagramSocket发送消息发送端:packagecom.ssl.lesson03;im......