顺序表的创建和初始化C语言代码
时间: 2024-09-21 22:10:55 浏览: 32
在C语言中,顺序表通常是一个数组结构,用于存储元素。以下是创建和初始化顺序表的基本步骤:
```c
#include <stdio.h>
// 定义顺序表节点结构体
typedef struct Node {
int data; // 存储数据的成员
struct Node* next; // 指向下一个节点的指针
} ListNode;
// 创建空链表
ListNode* createList() {
ListNode* head = NULL;
return head;
}
// 初始化顺序表(动态分配内存)
void initializeList(ListNode** head, int n) {
*head = createList(); // 初始头节点为NULL
if (n > 0) { // 如果需要初始化元素
ListNode* current = *head;
for (int i = 0; i < n - 1; i++) { // 遍历并插入新节点
ListNode* newNode = (ListNode*)malloc(sizeof(ListNode));
newNode->data = i + 1; // 设置初始值
newNode->next = current->next;
current->next = newNode;
current = newNode;
}
(*head)->next = NULL; // 尾部节点连接结束
} else {
printf("Error: No elements to initialize.\n");
}
}
// 测试示例
int main() {
int size = 5;
ListNode* listHead;
initializeList(&listHead, size);
// 打印初始化后的列表(这里仅做演示,实际应用会添加遍历代码)
ListNode* temp = listHead;
while (temp != NULL) {
printf("%d ", temp->data);
temp = temp->next;
}
printf("\n");
return 0;
}
```