用单链表实现一个简单的学生信息管理系统,该系统的功能有: 1.利用单链表建立学生基本信息表; 2.浏览每个学生的信息; 3.根据学号查询某个学生的基本信息; 4.添加学生信息到单链表中; 5、删除一个学生的信息。
时间: 2024-09-18 15:07:50 浏览: 55
为了实现一个基于单链表的学生信息管理系统,我们可以创建以下几个类:
1. **StudentNode** 类:用于表示单链表中的每一个节点,包含学生的姓名、学号等基本属性,并有一个指向下一个节点的指针。
```java
public class StudentNode {
String name;
int studentId;
StudentNode next;
public StudentNode(String name, int studentId) {
this.name = name;
this.studentId = studentId;
this.next = null;
}
}
```
2. **StudentList** 类:作为链表容器,提供插入、查找和删除操作。
```java
public class StudentList {
private StudentNode head;
// 插入新学生
public void addStudent(StudentNode newNode) {
if (head == null) {
head = newNode;
} else {
StudentNode current = head;
while (current.next != null) {
current = current.next;
}
current.next = newNode;
}
}
// 根据学号查找学生
public StudentNode findStudentByStudentId(int id) {
StudentNode current = head;
while (current != null && current.studentId != id) {
current = current.next;
}
return current;
}
// 删除学生
public void removeStudentByStudentId(int id) {
if (head == null) {
return;
}
if (head.studentId == id) {
head = head.next;
return;
}
StudentNode prev = head;
StudentNode curr = head.next;
while (curr != null && curr.studentId != id) {
prev = curr;
curr = curr.next;
}
if (curr != null) {
prev.next = curr.next;
}
}
// 浏览学生列表
public void displayStudents() {
StudentNode current = head;
while (current != null) {
System.out.println("学生姓名:" + current.name + ", 学号:" + current.studentId);
current = current.next;
}
}
}
```
阅读全文