欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java隊列的front和rear

楊奕斌1年前7瀏覽0評論

隊列是一種先進先出(First In First Out,簡稱FIFO)的數據結構,是在一個線性表的基礎上實現的。Java中的隊列采用了鏈式存儲結構,由前驅指針和后繼指針鏈接各節點,實現了高效的插入和刪除操作。隊列中的front指向隊首元素,rear指向隊尾元素。

public class Queue {
private Node front; // 隊首指針
private Node rear; // 隊尾指針
// 構造函數
public Queue() {
front = rear = null;
}
// 入隊操作
public void enqueue(int data) {
Node newNode = new Node(data);
if (front == null) {
front = rear = newNode;
} else {
rear.setNext(newNode);
rear = newNode;
}
}
// 出隊操作
public int dequeue() throws Exception {
if (front == null) {
throw new Exception("隊列為空");
}
int data = front.getData();
front = front.getNext();
return data;
}
}

在入隊操作中,如果隊列為空,將frontrear都指向新元素;如果隊列不為空,則將新元素作為rear的后繼節點,并更新rear指針。出隊操作中,首先判斷隊列是否為空,若為空則拋出異常;否則將隊首元素的值取出并刪除,更新front指針即可。