#include <iostream>
struct person {
int num;
int score;
person* next;
};
person* creat() {
person* head = NULL; // 头结点指针
person* p = NULL; // 用于遍历链表的指针
person* q = NULL; // 用于插入新节点的指针
int num, score;
while (true) {
std::cout << "请输入学号(输入0结束):";
std::cin >> num;
// 输入-1时结束输入
if (num == 0) {
break;
}
std::cout << "请输入成绩:";
std::cin >> score;
// 创建新节点
person* person1 = new person;
person1->num = num;
person1->score = score;
person1->next = NULL;
if (head == NULL) {
head = person1;
} else {
q->next = person1;
}
q = person1;
}
return head;
}
int main() {
person* head = creat(); // 创建链表
// 遍历链表并输出学生信息
person* p = head;
while (p != NULL) {
std::cout << "\n学号: " << p->num << ", 成绩: " << p->score;
p = p->next;
}
// 释放链表占用的内存
p = head;
while (p != NULL) {
person* temp = p;
p = p->next;
delete temp;
}
return 0;
}
编写一个函数creat,用来建立一个动态链表,各结点的数据由键盘输入。
最新推荐文章于 2023-12-18 23:28:54 发布