定义包含学生信息的顺序链表
时间: 2023-07-12 20:36:53 浏览: 97
数据结构:定义一个包含学生信息(学号、姓名、成绩)的顺序表_数据结构
5星 · 资源好评率100%
一个包含学生信息的顺序链表可以定义如下:
```c++
struct Student {
int id; // 学号
string name; // 姓名
int age; // 年龄
string major; // 专业
};
struct Node {
Student data; // 学生信息
Node* next; // 指向下一个节点的指针
};
class StudentList {
public:
StudentList() {
head = new Node;
head->next = nullptr;
}
~StudentList() {
Node* p = head;
while (p != nullptr) {
Node* q = p;
p = p->next;
delete q;
}
}
void insert(const Student& s) {
Node* p = head;
while (p->next != nullptr) {
p = p->next;
}
Node* q = new Node;
q->data = s;
q->next = nullptr;
p->next = q;
}
// 其他操作,如删除、查找、遍历等
private:
Node* head; // 头节点
};
```
在这个定义中,`Student` 结构体表示学生信息,`Node` 结构体表示链表节点,`StudentList` 类表示学生信息的顺序链表。链表的头节点 `head` 指向第一个有效节点,最后一个节点的 `next` 指针为空指针。链表的插入操作是将新节点插入到链表的末尾。
阅读全文