解题思路:

注意事项:

参考代码:

#include<iostream>

using namespace std;

struct student

{

int id;

int score;

student *next;

};

student *create(int n)

{

student *head=NULL,*p1,*p2;

p1=new student;

head=p1;

for(int i=0;i<n;i++)

{

cin>>p1->id>>p1->score;

p2=p1;

p1=new student;

p2->next=p1;

}

p1->next=NULL;

return head;

}

student *sort(student *head1,student *head2,int n,int m)

{

student *p[100];

student *t;

p[0]=head1;

for(int i=1;i<n;i++)

{

p[i]=p[i-1]->next;

}

p[n]=head2;

for(int i=n+1;i<n+m;i++)

{

p[i]=p[i-1]->next;

}

for(int i=0;i<n+m-1;i++)

    for(int j=0;j<n+m-i-1;j++)

    {

    if(p[j]->id>p[j+1]->id)

    {

    t=p[j];

    p[j]=p[j+1];

    p[j+1]=t;

}

}

for(int i=n+m;i>0;i--)

{

p[i-1]->next=p[i];

}

    return p[0];

}

void print(student *head,int n)

{

student *p=head;

for(int i=1;i<n+1;i++)

{

cout<<p->id<<" "<<p->score<<endl;

p=p->next;

}

}

int main()

    int n,m;

    cin>>n>>m;

    student *head1,*head2,*p;

    head1=create(n);

    head2=create(m);

head1=sort(head1,head2,n,m);

print(head1,n+m);

    return 0;

}


点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论