C语言中在空顺序表中分别插入jin的具体代码
时间: 2024-09-20 12:08:43 浏览: 30
C语言实现动态顺序表的实现代码
在C语言中,空顺序表(通常指首元素为空的动态数组)的插入操作通常涉及到动态内存分配。这里是一个简单的例子,假设我们有一个结构体`Student`,并且我们需要插入一个新的学生到空的学生列表中:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct Student {
char name[50];
int age;
} Student;
// 创建一个新的学生并添加到列表尾部
void insertStudent(Student** list, const char* name, int age) {
if (*list == NULL) { // 判断是否为空表
*list = (Student*)malloc(sizeof(Student)); // 动态分配空间
if (*list != NULL) {
strcpy((*list)->name, name);
(*list)->age = age;
printf("Inserted new student: %s, age: %d\n", name, age);
} else {
printf("Memory allocation failed.\n");
}
} else {
Student* newNode = (Student*)malloc(sizeof(Student));
if (newNode != NULL) {
strcpy(newNode->name, name);
newNode->age = age;
(*list)->next = newNode; // 链接新节点到现有列表
*list = newNode;
printf("Inserted new student: %s, age: %d at the end of the list\n", name, age);
} else {
printf("Memory allocation for new node failed.\n");
}
}
}
int main() {
Student* studentsList = NULL; // 空顺序表
// 插入示例
insertStudent(&studentsList, "Jin", 20); // 添加一个新学生
return 0;
}
```
在这个代码中,`insertStudent`函数会检查列表是否为空,如果为空则创建新的`Student`实例,否则会在列表末尾添加新节点。
阅读全文