c语言写一个函数insert,用来向一个动态链表插入节点
时间: 2023-06-20 18:03:41 浏览: 138
C++string中的insert()插入函数详解
下面是一个示例代码,实现在动态链表中插入节点的功能:
```c
struct Node {
int data;
struct Node* next;
};
void insert(struct Node** head_ref, int new_data) {
struct Node* new_node = (struct Node*)malloc(sizeof(struct Node));
new_node->data = new_data;
new_node->next = (*head_ref);
(*head_ref) = new_node;
}
```
在该函数中,我们首先声明一个新的节点 `new_node`,并分配内存空间。然后将新节点的 `data` 值设置为传入的 `new_data` 参数,并将 `next` 指针指向当前链表的头节点 `(*head_ref)`。最后将新节点赋值给 `head_ref`,即可将其插入到链表中。
使用示例:
```c
int main() {
struct Node* head = NULL;
insert(&head, 1);
insert(&head, 2);
insert(&head, 3);
insert(&head, 4);
insert(&head, 5);
return 0;
}
```
上述代码将创建一个包含 5 个节点的动态链表,其中数据值分别为 5、4、3、2、1。
阅读全文