用java基于链表生成队列
时间: 2023-07-17 13:55:50 浏览: 121
在 Java 中,你可以使用链表来实现队列。下面是一个基于链表生成队列的示例代码:
首先,你需要定义一个节点类,用于表示链表的节点:
```java
class Node {
int data;
Node next;
public Node(int data) {
this.data = data;
this.next = null;
}
}
```
然后,你可以创建一个队列类,包含队列的相关操作:
```java
class Queue {
private Node front;
private Node rear;
public Queue() {
this.front = null;
this.rear = null;
}
public boolean isEmpty() {
return front == null;
}
public void enqueue(int data) {
Node newNode = new Node(data);
if (isEmpty()) {
front = newNode;
rear = newNode;
} else {
rear.next = newNode;
rear = newNode;
}
System.out.println(data + " enqueued to the queue");
}
public int dequeue() {
if (isEmpty()) {
throw new NoSuchElementException("Queue is empty");
}
int data = front.data;
front = front.next;
if (front == null) {
rear = null;
}
return data;
}
public int peek() {
if (isEmpty()) {
throw new NoSuchElementException("Queue is empty");
}
return front.data;
}
}
```
接下来,你可以使用该队列类来进行队列操作:
```java
public class Main {
public static void main(String[] args) {
Queue queue = new Queue();
queue.enqueue(10);
queue.enqueue(20);
queue.enqueue(30);
System.out.println("Front element: " + queue.peek());
System.out.println(queue.dequeue() + " dequeued from the queue");
System.out.println(queue.dequeue() + " dequeued from the queue");
System.out.println("Front element: " + queue.peek());
}
}
```
运行上述代码,你将得到以下输出:
```
10 enqueued to the queue
20 enqueued to the queue
30 enqueued to the queue
Front element: 10
10 dequeued from the queue
20 dequeued from the queue
Front element: 30
```
这样,你就使用链表实现了一个基本的队列数据结构。注意,该示例使用了简化的整数数据类型,你可以根据需要进行修改和扩展。
阅读全文
相关推荐















