请举例说明如何使用单链表
时间: 2024-05-01 22:16:27 浏览: 77
以存储学生信息为例,可以使用单链表来实现。每个节点存储一个学生的信息,包括姓名、年龄、性别、学号等。
首先定义一个学生信息结构体:
```
typedef struct student {
char name[20];
int age;
char gender;
int id;
struct student *next;
} Student;
```
其中,next指针指向下一个节点。
然后定义一个头节点:
```
Student *head = NULL;
```
可以通过以下方式向链表中添加新节点:
```
// 创建新节点
Student *new_student = (Student*)malloc(sizeof(Student));
strcpy(new_student->name, "张三");
new_student->age = 20;
new_student->gender = 'M';
new_student->id = 1001;
new_student->next = NULL;
// 将新节点插入到链表末尾
if (head == NULL) {
head = new_student;
} else {
Student *p = head;
while (p->next != NULL) {
p = p->next;
}
p->next = new_student;
}
```
这样,就可以将新学生信息添加到链表末尾。
可以通过以下方式遍历链表并输出所有学生信息:
```
Student *p = head;
while (p != NULL) {
printf("姓名:%s,年龄:%d,性别:%c,学号:%d\n", p->name, p->age, p->gender, p->id);
p = p->next;
}
```
这样,就可以使用单链表来存储和管理学生信息了。
阅读全文