创建一个动态链表,输入5位学生的数据(学号及姓名),创建一个动态链表,输入5位学生的数据(学号及姓名),遍历并输出链表中的数据。遍历并输出链表中的数据。
时间: 2024-03-07 10:49:02 浏览: 69
C语言:定义一个包含学生信息(学号,姓名,成绩)的顺序表和链表.zip
5星 · 资源好评率100%
好的,我来为您解答这个问题。
以下是C++代码实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
// 定义学生结构体
struct Student {
int id; // 学号
string name; // 姓名
Student* next; // 指向下一个节点的指针
};
int main() {
Student* head = NULL; // 初始化链表头指针为空
Student* p = NULL; // 定义一个指针p,用于遍历链表
// 输入5个学生的信息
for (int i = 0; i < 5; i++) {
Student* s = new Student(); // 创建一个新的节点
cout << "请输入第" << i + 1 << "个学生的学号:";
cin >> s->id;
cout << "请输入第" << i + 1 << "个学生的姓名:";
cin >> s->name;
s->next = head; // 将新节点的next指向当前头节点
head = s; // 将新节点设置为头节点
}
// 遍历链表并输出节点信息
p = head; // 从头节点开始遍历
while (p != NULL) {
cout << "学号:" << p->id << ",姓名:" << p->name << endl;
p = p->next; // 将指针指向下一个节点
}
return 0;
}
```
运行程序,输入5个学生的学号和姓名后,程序会遍历链表并输出学生信息。
注意:动态链表需要手动释放内存,程序中未对节点进行释放,实际应用中需要注意内存泄漏问题。
阅读全文