原题链接:[编程入门]链表合并
#include<bits/stdc++.h> using namespace std; struct node{ int data; int data2; node *next; }; node *creatt(){ node *h=new node;h->next=NULL; //初始化头结点 int x; while(cin>>x){ node *p=new node; p->data=x; //头插法 类似栈 p->next=h->next; h->next=p; } return h; } node *creatw(int n){ node *h=new node;h->next=NULL; node *w=h; //初始化尾结点 int x,y; for(int i=0;i<n;i++){ cin>>x>>y; node *p=new node; p->data=x; //尾插法 类似队列 p->data2=y; w->next=p; w=p; } w->next=NULL; return h; } node *repalce(node *h,int x,int k){ //替换元素 x->k node *p=h; while(p){ if(p->data==x) p->data=k; p=p->next; } return h; } node *insert(node *h,int i,int k){ node *pre=h; for(int j=1;j<i;j++) pre=pre->next; //目标节点的上一个节点 node *p=new node; p->data=k; p->next=pre->next; pre->next=p; return h; } node *delet(node *h,int x){ //按值删除 node *p=h,*pre;p=h->next; while(p->data!=x){ pre=p; p=p->next; } pre->next=p->next; delete(p); return h; } void sort(node *h){ //冒泡法排序 for(node *p=h->next;p!=NULL;p=p->next){ for(node *q=h->next;q->next!=NULL;q=q->next){ if(q->data>q->next->data) { swap(q->data,q->next->data); swap(q->data2,q->next->data2); } } } } void print(node *h){ node *p=h->next; while(p){ cout<<p->data<<" "<<p->data2<<endl; p=p->next; } cout<<endl; } int main(){ int a,b;cin>>a>>b; node *l=creatw(a+b); sort(l); print(l); return 0; }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复