用代码实现链式队列,实现输出自己学号与姓名
时间: 2024-12-08 18:14:03 浏览: 12
为了实现实体类“学号姓名”(这里假设名为`Student`)并将其实现链式队列的功能,你需要首先创建一个`Node`类来代表链表中的每个元素,接着实现`StudentQueue`类,包含队列的基本操作。这里给出一个简化的示例代码:
```java
// 定义一个Student实体类
class Student {
private String id;
private String name;
public Student(String id, String name) {
this.id = id;
this.name = name;
}
public String getId() { return id; }
public String getName() { return name; }
@Override
public String toString() {
return "学号:" + id + ", 姓名:" + name;
}
}
// 定义链表节点
class Node {
Student data;
Node next;
public Node(Student data) {
this.data = data;
}
}
// 链式队列实现
public class StudentQueue {
private Node head;
private Node tail;
// 初始化空链表
public StudentQueue() {
head = null;
tail = null;
}
// 入队
public void enqueue(Student student) {
Node newNode = new Node(student);
if (head == null) {
head = newNode;
tail = newNode;
} else {
tail.next = newNode;
tail = newNode;
}
}
// 出队并返回头节点的学号姓名
public String dequeue() {
if (head == null) {
return "队列为空";
} else {
Student student = head.data;
head = head.next;
if (head == null) {
tail = null;
}
return student.toString();
}
}
// 打印链表中的所有学生信息
public void printQueue() {
Node current = head;
while (current != null) {
System.out.println(current.data.toString());
current = current.next;
}
}
// 使用示例
public static void main(String[] args) {
StudentQueue queue = new StudentQueue();
queue.enqueue(new Student("001", "张三"));
queue.enqueue(new Student("002", "李四"));
System.out.println(queue.dequeue()); // 输出第一个学生的学号姓名
queue.printQueue(); // 输出所有学生的学号姓名
}
}
```
在这个例子中,我们创建了一个`StudentQueue`类,它有`enqueue`、`dequeue`和`printQueue`方法。在`main`方法里,我们创建了两个学生的实例并加入队列,然后依次打印队首学生的信息以及整个队列的所有学生信息。
阅读全文