用C语言写出两个链表按大小顺序合并的子函数部分
时间: 2023-06-10 18:08:08 浏览: 109
下面是一个示例代码,其中假设链表节点的结构体定义为`Node`,其中包含一个整数`value`和指向下一个节点的指针`next`:
```c
Node* merge_sorted_lists(Node* list1, Node* list2) {
if (list1 == NULL) {
return list2;
}
else if (list2 == NULL) {
return list1;
}
else if (list1->value <= list2->value) {
list1->next = merge_sorted_lists(list1->next, list2);
return list1;
}
else {
list2->next = merge_sorted_lists(list1, list2->next);
return list2;
}
}
```
这个函数会递归地比较两个链表的节点大小,将它们按照升序排列合并成一个链表并返回。如果其中一个链表为空,则直接返回另一个链表。
阅读全文