java单链表学生系统增删改查
时间: 2023-09-28 21:09:57 浏览: 102
好的,我可以为您提供Java单链表学生系统的增删改查操作的示例代码。首先,我们需要定义一个学生类,包含学生的姓名、年龄、学号等信息。如下所示:
```java
public class Student {
private String name;
private int age;
private String id; // 学号
public Student(String name, int age, String id) {
this.name = name;
this.age = age;
this.id = id;
}
// 省略 getter 和 setter 方法
// ...
}
```
接下来,我们可以定义一个单链表类,用于存储学生信息。如下所示:
```java
public class StudentList {
private Node head; // 头节点
private class Node {
private Student data; // 数据域
private Node next; // 指针域
public Node(Student data) {
this.data = data;
}
}
// 添加学生信息
public void add(Student student) {
Node newNode = new Node(student);
if (head == null) {
head = newNode;
return;
}
Node p = head;
while (p.next != null) {
p = p.next;
}
p.next = newNode;
}
// 删除学生信息
public void delete(String id) {
Node p = head;
Node q = null; // 记录待删除节点的前驱节点
while (p != null) {
if (p.data.getId().equals(id)) {
// 找到待删除节点
if (q == null) {
// 待删除节点为头节点
head = p.next;
} else {
q.next = p.next;
}
return;
}
q = p;
p = p.next;
}
}
// 修改学生信息
public void update(String id, Student student) {
Node p = head;
while (p != null) {
if (p.data.getId().equals(id)) {
// 找到待修改节点
p.data = student;
return;
}
p = p.next;
}
}
// 查找学生信息
public Student find(String id) {
Node p = head;
while (p != null) {
if (p.data.getId().equals(id)) {
// 找到待查找节点
return p.data;
}
p = p.next;
}
// 没有找到
return null;
}
}
```
以上是Java单链表学生系统的增删改查操作的示例代码。您可以根据自己的实际需求进行修改和完善。
阅读全文