运用c语言编写一个线性表,链表的建立和遍历
时间: 2024-09-29 07:03:14 浏览: 8
在C语言中,我们可以使用结构体和指针来创建一个简单的链表。链表是一种数据结构,其中每个元素称为节点,包含数据域和指向下一个节点的地址。下面是一个基础的单向链表的建立和遍历示例:
首先,定义一个链表节点的结构体:
```c
typedef struct Node {
int data; // 节点的数据
struct Node* next; // 指向下一个节点的指针
} Node;
```
接着,我们可以创建链表的函数,用于初始化、添加节点和遍历:
**链表初始化:**
```c
Node* createList() {
Node* head = NULL; // 初始化链表头指针为NULL
return head;
}
```
**添加节点:**
```c
void addNode(Node** head, int value) {
Node* newNode = (Node*)malloc(sizeof(Node)); // 动态分配内存
newNode->data = value;
newNode->next = *head;
*head = newNode;
}
```
**遍历链表:**
```c
void traverseList(Node* head) {
if (head != NULL) { // 避免空指针异常
while (head != NULL) {
printf("%d ", head->data); // 打印当前节点数据
head = head->next; // 移动到下一个节点
}
printf("\n");
} else {
printf("链表为空.\n");
}
}
```
要使用这个链表,可以按照以下步骤操作:
```c
int main() {
Node* listHead = createList();
// 添加节点
addNode(&listHead, 1);
addNode(&listHead, 2);
addNode(&listHead, 3);
// 遍历链表
traverseList(listHead);
return 0;
}
```