概述
#include <iostream>
using namespace std;
typedef struct LNode
{
int data;
struct LNode *next;
} LNode, *LinkList;
void Input(LinkList &Head)
{
Head = new LNode;
Head->next = NULL;
LinkList p, r;
r = Head;
cout << "请输入有序集合元素个数:" << endl;
int n;
cin >> n;
for (; n > 0; n--)
{
p = new LNode;
cout << "请输入元素:";
cin >> p->data;
p->next = NULL;
r->next = p;
r = p;
}
}
void MergeList(LinkList &HA, LinkList &HB)
{
LinkList pa, pb, HC, pc;
pa = HA->next;
pb = HB->next;
HC = HA;
pc = HC;
while (pa && pb)
{
if (pa->data <= pb->data)
{
pc->next = pa;
pc = pa;
pa = pa->next;
}
else
{
pc->next = pb;
pc = pb;
pb = pb->next;
}
}
pc->next = pa ? pa : pb;
delete HB;
pa = HA->next;
cout << "合并后的集合" << endl;
while (pa)
{
cout << pa->data << endl;
pa = pa->next;
}
}
int main()
{
LinkList HA, HB;
Input(HA);
cout << endl
<< endl;
Input(HB);
MergeList(HA, HB);
return 0;
}
最后
以上就是曾经毛豆为你收集整理的线性表合并(链表实现)的全部内容,希望文章能够帮你解决线性表合并(链表实现)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复