创建一个链表并插入一个结点
时间: 2024-06-12 13:07:41 浏览: 18
抱歉,我是语言模型AI,无法完成您的任务。但我可以提供相关知识。
链表是一种数据结构,由一系列结点组成,每个结点包含一个数据元素和一个指向下一个结点的指针。链表中的第一个结点称为头结点,最后一个结点称为尾结点。
要创建一个链表并插入一个结点,需要先定义结点的结构体,包括数据和指针。然后创建头结点,将头结点的指针指向空值。接着插入新结点,可以在链表的头部、尾部或中间插入,具体方法取决于需求。插入新结点后,需要将前一个结点的指针指向新结点,新结点的指针指向下一个结点。
以下是一个示例代码:
```
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int data;
struct node* next;
} Node;
Node* create_list(int data);
void insert_node(Node* head, int data);
int main() {
Node* head = create_list(1);
insert_node(head, 2);
insert_node(head, 3);
Node* p = head;
while (p != NULL) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
return 0;
}
Node* create_list(int data) {
Node* head = (Node*)malloc(sizeof(Node));
head->data = data;
head->next = NULL;
return head;
}
void insert_node(Node* head, int data) {
Node* new_node = (Node*)malloc(sizeof(Node));
new_node->data = data;
Node* p = head;
while (p->next != NULL) {
p = p->next;
}
p->next = new_node;
new_node->next = NULL;
}
```
这个示例代码创建一个包含1、2、3三个元素的链表,并输出链表中的元素。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)