用c语言创建包含n个节点的单向链表
时间: 2024-03-08 08:49:36 浏览: 73
好的,以下是用C语言实现创建包含n个节点的单向链表的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构体
typedef struct ListNode {
int val;
struct ListNode *next;
} ListNode;
// 创建包含n个节点的单向链表
ListNode* createLinkedList(int n) {
ListNode *head = (ListNode*)malloc(sizeof(ListNode)); // 创建头节点
head->val = 1;
head->next = NULL;
ListNode *tail = head; // 将尾指针指向头节点
for(int i = 2; i <= n; i++) {
ListNode *newNode = (ListNode*)malloc(sizeof(ListNode)); // 创建新节点
newNode->val = i;
newNode->next = NULL;
tail->next = newNode; // 将新节点添加至链表末尾
tail = newNode; // 更新尾指针
}
return head; // 返回头节点
}
int main() {
int n = 5;
ListNode *head = createLinkedList(n);
ListNode *p = head;
while(p != NULL) {
printf("%d ", p->val);
p = p->next;
}
return 0;
}
```
这段代码会创建包含5个节点的单向链表,并将其打印输出。你可以根据需要更改n的值来创建不同节点数目的链表。注意在使用完链表后需要手动释放链表的内存空间,以避免内存泄漏。
阅读全文