c语言链表末尾插入新结点
时间: 2023-09-29 11:10:06 浏览: 46
链表末尾插入新结点的一般步骤如下:
1. 定义一个新结点,并为其分配内存空间。
2. 将新结点的数据设置为要插入的数据。
3. 将新结点的 next 指针设置为 NULL。
4. 找到链表最后一个结点。
5. 将最后一个结点的 next 指针指向新结点。
下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node* next;
};
void append(struct Node** head_ref, int new_data)
{
struct Node* new_node = (struct Node*)malloc(sizeof(struct Node));
struct Node* last = *head_ref;
new_node->data = new_data;
new_node->next = NULL;
if (*head_ref == NULL) {
*head_ref = new_node;
return;
}
while (last->next != NULL)
last = last->next;
last->next = new_node;
return;
}
int main()
{
struct Node* head = NULL;
append(&head, 1);
append(&head, 2);
append(&head, 3);
printf("Linked list: ");
struct Node* temp = head;
while (temp != NULL) {
printf("%d ", temp->data);
temp = temp->next;
}
return 0;
}
```
在上面的代码中,我们定义了一个 Node 结构体来表示链表中的每个结点。append() 函数用于向链表末尾插入新结点。在 main() 函数中,我们创建了一个新链表并向其插入一些数据。最后,我们遍历链表并打印出其中的每个结点的数据。