解题思路:

注意事项:

参考代码:

#include<stdio.h>

#include<stdlib.h> 

typedef struct Node{

int id;

int num;

struct Node *next;

}LinkList;


LinkList *Create(int c){

LinkList *head,*s,*r;

int num;

int id;

head=NULL;

r=NULL;

for(int i=0;i<c;i++){

scanf("%d %d",&id,&num);

s=(LinkList*)malloc(sizeof(LinkList));

s->id=id;

s->num=num;

s->next=NULL;

if(head==NULL){

head=s;

r=s;

}

else{

r->next=s;

r=s;

}

}

if(r->next!=NULL){

r->next=NULL;

}

return head;

}


LinkList* hebing(LinkList *pa,LinkList *pb){

if(pa==NULL){

return pb;

}

LinkList *r=pa;

while(r->next!=NULL){

r=r->next;

}

r->next=pb;

return pa; 

}

void exchange(LinkList *head){

for(LinkList *p=head;p!=NULL;p=p->next){

int cur_id=0;

int cur_num=0;

for(LinkList *q=p->next;q!=NULL;q=q->next){

if(p->id>q->id){

cur_id=p->id;

p->id=q->id;

q->id=cur_id;

cur_num=p->num;

p->num=q->num;

q->num=cur_num;

}

}

}

}

void destory(LinkList *head){

LinkList *p=head;

while(p!=NULL){

LinkList *temp=p->next;

free(p);

p=temp;

}

}

int main(){

int x;

int y;

scanf("%d %d",&x,&y);

LinkList *pa=Create(x);

LinkList *pb=Create(y);

LinkList *pc=hebing(pa,pb);

exchange(pc);

LinkList *fr=pc;

while(fr!=NULL){

printf("%d %d\n",fr->id,fr->num);

fr=fr->next;

}

destory(pc);

return 0;

}




 


点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论