用c语言写一个创建单链表的代码
时间: 2024-05-01 07:16:55 浏览: 102
以下是C语言实现创建单链表的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构体
struct Node {
int data; // 数据域
struct Node* next; // 指针域,指向下一个节点
};
// 创建链表
struct Node* createList(int* arr, int len) {
struct Node* head = NULL; // 头节点指针
struct Node* tail = NULL; // 尾节点指针
// 循环创建节点
for (int i = 0; i < len; i++) {
// 创建节点
struct Node* node = (struct Node*)malloc(sizeof(struct Node));
node->data = arr[i];
node->next = NULL;
// 如果链表为空,将头节点指向当前节点
if (head == NULL) {
head = node;
tail = node;
} else {
// 将新节点插入到尾节点后面
tail->next = node;
tail = node;
}
}
return head; // 返回头节点指针
}
// 打印链表
void printList(struct Node* head) {
struct Node* p = head; // 用指针p遍历链表
// 循环打印链表节点的数据
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(arr[0]);
// 创建链表
struct Node* head = createList(arr, len);
// 打印链表
printList(head);
return 0;
}
```
运行结果:
```
1 2 3 4 5
```
阅读全文