🎉 数据结构
将两个长度分别为len1和len2的升序链表,合并为一个长度为len1+len2的降序列表,釆用归并算法,在最坏情况下,比较操作的次数与___最接近。(中国科学院大学 2015年)
A. lenl+len2
C. min(lenl, len2)
B. Lenl*len2
D. Max(lenl, len2)
解析
答案:A
📢 对于归并算法而言包括两种情况:
- 两个链表还有剩下的元素时,则取两个链表中的最大值放入新链表中
- 一个无剩余元素,另一个有剩余元素时,直接将另一个链表直接放入新链表中
好久没写代码,写个伪代码给你们康康😎
void merge_list(LinkList &la, LinkList &lb) {
LNode *cur, *pa = la->next, *pb = lb->next;
la->next = NULL; // la为合并后的链表
while (pa && pb