/*create by tyy*/
#include <iostream>
#include <string>
using namespace std;
#define ok 1
#define error -1
#define overflow -2
typedef int status;
typedef int ElemType;
typedef struct LNode {
ElemType data;
LNode *next;
}LNode, *LinkList;
//2.将两个递增的有序链表合并成一个递减的有序链表,允许重复
status mergeList1(LinkList &la, LinkList &lb, LinkList &lc) {
LinkList pa, pb, pc;
pa = la->next;
pb = lb->next;
lc = pc = la;
pc->next = NULL;
while (pa&&pb) {
LinkList pt;
if (pa->data < pb->data) {
pt = pa;
pa = pa->next;
}
else {
pt = pb;
pb = pb->next;
}
pt->next = pc->next;
pc->next = pt;
}
if (pa == NULL) {
pa = pb;
}
LinkList pt;
while (pa) {
pt = pa;
pa = pa->next;
pt->next = pc->next;
pc->next = pt;
}
delete lb;
return ok;
}
C++将两个递增的单链表合并成一个递减的 单链表 不占用 原来的空间
猜你喜欢
转载自blog.csdn.net/qq_37790902/article/details/83622795
今日推荐
周排行