建立一个10名学生信息的单向链表,每个结点包括学号、姓名、性別、年龄,来用插c++
时间: 2024-01-27 13:05:37 浏览: 136
以下是一个简单的 C++ 代码示例,可用于创建一个包含10个学生信息的单向链表:
```cpp
#include <iostream>
#include <string>
using namespace std;
// 定义学生结构体
struct Student {
int id;
string name;
char gender;
int age;
Student* next;
};
int main() {
// 创建头结点
Student* head = new Student;
head->next = nullptr;
// 插入10个学生结点
for (int i = 1; i <= 10; i++) {
// 创建新结点
Student* node = new Student;
node->id = i;
node->name = "Student" + to_string(i);
node->gender = (i % 2 == 0) ? 'M' : 'F';
node->age = 18 + i;
node->next = nullptr;
// 将新结点插入链表尾部
Student* p = head;
while (p->next != nullptr) {
p = p->next;
}
p->next = node;
}
// 遍历链表并输出每个学生信息
Student* p = head->next;
while (p != nullptr) {
cout << "ID: " << p->id << endl;
cout << "Name: " << p->name << endl;
cout << "Gender: " << p->gender << endl;
cout << "Age: " << p->age << endl;
cout << endl;
p = p->next;
}
// 释放链表内存
p = head;
while (p != nullptr) {
Student* q = p;
p = p->next;
delete q;
}
return 0;
}
```
在上面的代码中,我们首先定义了一个 `Student` 结构体来表示学生信息,其中包括学号、姓名、性别、年龄和指向下一个结点的指针。然后,我们创建一个头结点,它的 `next` 指针为空,表示链表为空。接着,我们使用循环插入10个学生结点,每个结点都包含不同的学号、姓名、性别和年龄信息,并将它们插入到链表尾部。最后,我们遍历链表并输出每个学生的信息。在程序的最后,我们释放了链表占用的内存。
阅读全文