用尾插法建立单链表C语言
时间: 2023-09-22 15:07:35 浏览: 126
尾插法单链表的建立
以下是使用尾插法建立单链表的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
struct node {
int data;
struct node* next;
};
typedef struct node Node;
Node* create_node(int data) {
Node* new_node = (Node*)malloc(sizeof(Node));
new_node->data = data;
new_node->next = NULL;
return new_node;
}
void insert_node(Node** head, int data) {
Node* new_node = create_node(data);
if (*head == NULL) {
*head = new_node;
} else {
Node* curr = *head;
while (curr->next != NULL) {
curr = curr->next;
}
curr->next = new_node;
}
}
void print_list(Node* head) {
Node* curr = head;
while (curr != NULL) {
printf("%d ", curr->data);
curr = curr->next;
}
printf("\n");
}
int main() {
Node* head = NULL;
insert_node(&head, 1);
insert_node(&head, 2);
insert_node(&head, 3);
insert_node(&head, 4);
print_list(head);
return 0;
}
```
在这个程序中,我们首先定义了一个名为“node”的结构体,它包含一个整数数据和一个指向下一个结点的指针。然后我们定义了一个名为“create_node”的函数,它接受一个整数数据并返回一个指向新结点的指针。接下来,我们定义了一个名为“insert_node”的函数,它接受一个指向头结点的指针和一个整数数据。如果链表为空,则将新结点作为头结点;否则,我们遍历链表直到找到最后一个结点,然后将新结点附加到其后面。最后,我们定义了一个名为“print_list”的函数,它接受一个指向头结点的指针并打印整个链表的数据。在主函数中,我们首先将头结点初始化为NULL,然后通过调用“insert_node”函数四次来插入四个结点。最后,我们调用“print_list”函数来打印整个链表。
阅读全文