已有 a、b 两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按成绩升序排列。
来源:互联网 发布:侏罗纪世界4 知乎 编辑:程序博客网 时间:2024/05/22 13:30
#include<stdio.h>#include<malloc.h>#define NULL 0#define LEN sizeof(struct student)struct student{long num;float score;struct student *next;};int n,sum=0;struct student lista,listb;struct student *creat(void){struct student *head;struct student *p1,*p2;n=0;p1=p2=(struct student*)malloc(LEN);printf("input number &scores of student:\n");printf("if number is 0,stop inputing.\n");scanf("%ld,%f",&p1->num,&p1->score);head=NULL;while(p1->num!=0){n++;if(n==1)head=p1;else p2->next=p1;p2=p1;p1=(struct student*)malloc(LEN);scanf("%ld,%f",&p1->num,&p1->score);}p2->next=NULL;return head;} int print(struct student *head){struct student *p;printf("\nNow ,These %d records are:\n",n);p=head;if(head!=NULL)do{printf("%ld,%5.1f\n",p->num,p->score);p=p->next;}while(p!=NULL);}struct student *insert(struct student *ah,struct student *bh){struct student *pa1,*pa2,*pb1,*pb2;pa2=pa1=ah;pb2=pb1=bh;do{while((pb1->num)>(pa1->num)&&(pa1->next!=NULL)) { pa2=pa1; pa1=pa1->next; }if((pb1->num)<=(pa1->num)) {if(ah==pa1)ah=pb1;elsepa2->next=pb1;pb1=pb1->next;pb2->next=pa1;pa2=pb2;pb2=pb1; }}while((pa1->next!=NULL)||(pa1==NULL&&pb1!=NULL));if((pb1!=NULL)&&(pb1->num>pa1->num)&&(pa1->next==NULL))pa1->next=pb1;return ah;}int main(){struct student *ahead ,*bhead,*abh;long del_num;printf("input list a:\n");ahead=creat();sum=sum+n;printf("input list b:\n");bhead=creat();sum=sum+n;abh=insert(ahead,bhead);print(abh);return 0;}
0 0
- 已有 a、b 两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按成绩升序排列。
- 已有a,b两个链表,每个链表中的结点包括学号,成绩。要求把两个链表合并,按学号升序排列。
- 已有a,b两个链表,每个链表中的结点包括学号,成绩。要求把两个链表合并,按学号升序排列。
- 有a,b两个已按学号升序排序的链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,仍按学号升序排列。
- 有两个链表a,b,设结点包括学号,姓名。从a链表中删去与b链表中有相同学号的那些结点。
- 【C++】建立一个学生信息链表,每个结点包括:学号、姓名、成绩。【原创技术】
- 有两个链表a和b,设结点中包含学号和姓名,从a链表中删除和b链表中相同学号的结点
- P318_118 合并两个链表,并按照学号升序排列。用类冒泡排序法对链表进行排序
- 合并两个升序链表
- C语言合并两个带头节点升序排列链表
- 合并两个已有序(升序)链表的操作!
- 将两个升序排列的链表合并后升序排序打印.
- 合并两个升序线性链表
- 两个升序单向链表的合并
- 合并两个升序链表(递归)
- 合并两个链表成一个升序链表
- 合并两个链表成一个升序链表
- 按要求打印两个已排序链表中的元素
- Java过滤器与SpringMVC拦截器之间的关系与区别?
- C++ find()
- 好文章之——PHP系列(一)
- Candy 出去玩 (outing)
- 简单文本编辑器
- 已有 a、b 两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按成绩升序排列。
- python爬取性感美女图片
- 环信学习文档(Java)_即时通讯
- C++ STL学习——algorithm
- Day40、this指针和常函数、析构函数、对象的创建和销毁过程、拷贝构造和拷贝赋值(深拷贝、浅拷贝!)
- 函数返回局部变量 的问题
- jenkins部署及发布使用
- 安卓微信支付
- jenkins实用插件1-Active Choices Plugin