用c语言编写线性表的定义和初始化
时间: 2024-09-29 12:03:10 浏览: 37
C语言实现线性表的算法与步骤
在C语言中,我们可以使用结构体(struct)来定义线性表,通常包含一组数据元素(动态数组)。这里是一个简单的例子,定义了一个名为`ListNode`的结构体,它代表线性表的节点,并有一个指向下一个节点的指针:
```c
// 定义单链表节点
typedef struct ListNode {
int data; // 数据域,存放整数值
struct ListNode* next; // 指向下一个节点的指针
} ListNode;
// 初始化函数,创建一个空链表
ListNode* createList() {
return NULL;
}
// 初始化一个链表,例如,只包含一个元素
ListNode* initList(int value) {
ListNode* head = (ListNode*)malloc(sizeof(ListNode)); // 分配内存
if (head) {
head->data = value;
head->next = NULL; // 链表只有一个元素,所以next指针设为NULL
} else {
printf("Memory allocation failed.\n");
return NULL;
}
return head;
}
```
在上述代码中,`createList()`返回一个指向链表头结点的指针,而`initList(value)`会创建一个包含特定值的链表。如果内存分配失败,`malloc()`函数会返回`NULL`。
阅读全文