建立一个包括头结点和n个结点的单链表c语言
时间: 2024-12-15 17:30:49 浏览: 8
创建一个包含头节点和 n 个节点的单链表,可以按照以下步骤在 C 语言中完成:
1. 定义结构体:首先,你需要定义一个结构体 `Node` 来表示链表的每个节点,它通常包含两个部分:数据域 `data` 和指向下一个节点的指针 `next`。
```c
typedef struct Node {
int data; // 数据域存储整数值
struct Node* next; // 指向下一个节点的指针
} Node;
```
2. 创建头节点:在链表开始,需要一个特殊的节点作为起始,称为头节点。你可以初始化它为 NULL,因为最初链表是空的。
```c
Node* head = NULL;
```
3. 插入节点:为了添加 n 个节点,你需要编写一个插入函数,例如 `insertNode`,它接受新数据和当前节点作为输入,并将其添加到链表中。
```c
void insertNode(Node** head, int data) {
Node* newNode = (Node*)malloc(sizeof(Node)); // 分配内存
newNode->data = data;
newNode->next = *head; // 将新节点链接到当前头节点
*head = newNode; // 更新头节点为新插入的节点
}
```
4. 添加节点循环:为了插入 n 个节点,可以在一个循环中多次调用 `insertNode` 函数。
```c
for (int i = 1; i <= n; i++) {
insertNode(&head, i); // 从1开始,因为我们已经有了头节点0
}
```
5. 遍历链表:有了链表,你可能还需要遍历它,显示所有节点的数据。可以编写一个函数如 `displayList` 来完成这个任务。
```c
void displayList(Node* node) {
while (node != NULL) {
printf("%d -> ", node->data);
node = node->next;
}
printf("NULL\n");
}
// 使用示例
displayList(head);
```
阅读全文