public class RecycleQueue<Item> {
//尾节点也是当前节点(current)
Node last;
//队列中元素的个数
static int N;
//节点Node
private class Node<Item>{
//该节点的值
Item item;
//后节点
Node next;
public Node(Item item,Node next){
this.item = item;
this.next = next;
}
public Node(){
}
}
public RecycleQueue(Item item){
last = new Node(item,null);
//既是尾节点又是首节点,需要自己和自己建立关联
//这步很关键
//它记录了last的下一个节点(首节点)
last.next = last;
N = 1;
}
//void enqueue(Item item)
//入队
public void enqueue(Item item){
Node newNode = new Node(item,null);
//添加节点时尽量从新节点开始着手插入
//这里是 newNode.next = last.next 而不是newNode.next = last; 后者只能保存两个元素
newNode.next = last.next;
last.next = newNode;
//last节点既是尾节点又是当前节点,添加节点之后,last节点后移
last = la
使用last节点完成一个单向循环队列
最新推荐文章于 2022-10-17 18:40:41 发布
本文详细介绍了如何使用last节点来构建一个单向循环队列,包括队列的基本操作如入队、出队,并通过示例代码解释了其工作原理。通过这种方法,可以有效地管理数据并实现高效的数据存取。
摘要由CSDN通过智能技术生成