输入二组(每组10个元素)无序的整数,用归并排序的思想将它们从小到大合成一组并将打印出来

来源:百度知道 编辑:UC知道 时间:2024/06/28 03:44:25
用C语言实现

#include <iostream.h>
class node
{public:
long a;
node *next;
};
main()
{node *head,*p,*s;
s=new node;
cin>>s->a;
head=NULL;
while (s->a)
{if (head==NULL) head=s;
else p->next=s;
p=s;
s=new node;
cin>>s->a;
}
p->next=NULL;
p=head;
delete s;
node *q,*h,*j,*r,*i;
h=new node;s=new node;
s->next = p;
while (s->next!=NULL)
{
j = s;
q = s->next;
while (q->next!=NULL)
{
if (q->next->a < j->next->a)
{
j = q;
}
q = q->next;
}
if (j != s)
{
i= j->next;
j->next = i->next;
i->next = s->next;
s->next = i;
}
s = s->next;
}
p = h->next;

p=head;
while (p)
{cout<<p->a<<endl;
p=p->next;
}
de