能不能写一条链表同时包含教师和学生的结构体
时间: 2024-10-14 19:03:41 浏览: 14
基于C语言实现学生选课系统
5星 · 资源好评率100%
可以创建一个结构体来表示链表,其中包含教师和学生的信息。这通常涉及到联合两个不同的节点类型,例如`TeacherNode` 和 `StudentNode`,它们都有一个公共的`ListNode` 基类或接口,包含通用的链表属性如指针和数据域。
```cpp
// 假设我们有一个基础节点结构体 ListNode
struct ListNode {
int id; // 链表元素的唯一标识
void* data; // 存储不同类型数据的指针,比如 Teacher 或 Student 的实例
struct ListNode* next; // 指向下一个节点的指针
};
// 教师节点结构体 TeacherNode
struct TeacherNode : public ListNode {
string name;
// 其他教师特定信息...
};
// 学生节点结构体 StudentNode
struct StudentNode : public ListNode {
string name;
int grade;
// 其他学生特定信息...
}
// 创建链表时,可以选择添加TeacherNode或StudentNode
ListNode* createList() {
ListNode* head = new ListNode();
// 添加教师节点示例
TeacherNode* teacher = new TeacherNode();
teacher->name = "张老师";
head->data = teacher;
// 添加学生节点示例
StudentNode* student = new StudentNode();
student->name = "小明";
student->grade = 9;
head->next = student;
return head;
}
```
阅读全文