解题思路:
注意事项:
参考代码:
#include<iostream>
using namespace std;
typedef struct Node
{
int num;
int grade;
struct Node *next;
}stu;
stu *creat(int n)
{
stu *head=new stu;
head->next=NULL;
stu *r=head;
for(int i=0;i<n;i++)
{
stu *p= new stu;
cin >>p->num >>p->grade;
r->next=p;
r=p;
r->next=NULL;
}
return head;
}
void con(stu *h1,stu *h2)
{
stu *p=h1;
while(p->next!=NULL)
{
p=p->next;
}
p->next=h2->next;
}
stu *getmin(stu *h)
{
stu *min=h;
while(h->next!=NULL)
{
if(h->next->num < min->num)
min=h->next;
h=h->next;
}
return min;
}
void choosesort(stu *h)
{
stu *p=h->next;
int t;
for(;p->next!=NULL;p=p->next)
{
stu *q=getmin(p);
if(q!=p)
{
swap(p->num,q->num);
swap(p->grade,q->grade);
}
}
}
void display(stu *head)
{
stu *p=head->next;
while(p!=NULL)
{
cout <<p->num <<' ' <<p->grade <<endl;
p=p->next;
}
}
int main()
{
int n,m;
cin >>n >>m;
stu *h1=creat(n);
stu *h2=creat(m);
con(h1,h2);
choosesort(h1);
display(h1);
return 0;
}
0.0分
0 人评分