欢迎来到天天文库
浏览记录
ID:51647849
大小:268.50 KB
页数:49页
时间:2020-03-14
《数据结构上机测试题.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构上机测试题1、编写算法,将二个升序链表在原表空间内归并成一个升序链表。#include#includetypedefstructelemtype{intdata;structelemtype*next;}LinkList;LinkList*UnionList(LinkList*&la,LinkList*lb){LinkList*pa=la->next,*pb=lb->next,*s,*r=la;while(pa!=NULL&&pb!=NULL){if(pa->datadata){r=pa;pa=pa->nex
2、t;}else{s=(LinkList*)malloc(sizeof(LinkList));s->data=pb->data;s->next=pa;r->next=s;r=s;pb=pb->next;}}if(pb!=NULL){r->next=pb;}returnla;}LinkList*Create(){LinkList*head;head=(LinkList*)malloc(sizeof(LinkList));LinkList*p,*q=head;inttemp=1;while(1){scanf("%d",&temp);if(temp!=0){p=(Link
3、List*)malloc(sizeof(LinkList));p->data=temp;q->next=p;q=p;}else{q->next=NULL;break;}}returnhead;}voidmain(){LinkList*a,*b,*p;printf("请输入第一个序列:(以0结束)");a=Create();printf("请输入第二个序列:(以0结束)");b=Create();UnionList(a,b);printf("排序后的序列为:");p=a->next;while(p!=NULL){printf("%d",p->data
4、);p=p->next;}}1、编写算法,将二个升序链表在原表空间内归并成一个降序链表。#include#includetypedefintElemType;typedefstructLNode{ElemTypedata;structLNode*next;}LinkList;voidCreateList(LinkList*&L,ElemTypea[],intn){LinkList*r,*s;inti;L=(LinkList*)malloc(sizeof(LinkList));r=L;for(i=0;i5、nkList*)malloc(sizeof(LinkList));s->data=a[i];r->next=s;r=s;}r->next=NULL;}voidDispList(LinkList*L){LinkList*p=L->next;while(p!=NULL){printf("%d",p->data);p=p->next;}printf("");}voidDestroyList(LinkList*L){LinkList*p=L,*q=p->next;while(q!=NULL){free(p);p=q;q=q->next;}free(p);}LinkLi6、st*combine(LinkList*&L1,LinkList*&L2){LinkList*p=L1->next;LinkList*q=L2->next;LinkList*r;while(p!=NULL&&q!=NULL){if(p->data>q->data){r=q;q=q->next;L2->next=q;r->next=L1->next;L1->next=r;}elseif(p->data<=q->data){if(p->next){if(p->next->data>q->data){r=q;q=q->next;r->next=p->next;p->ne7、xt=r;p=r;}elsep=p->next;}else{r=p;r->next=q;p=NULL;}}}if(q==NULL){L2->next=NULL;free(L2);}returnL1;}voidnixu(LinkList*&L){LinkList*p=L->next,*q;L->next=NULL;while(p){q=p->next;p->next=L->next;L->next=p;p=q;}}voidmain(){LinkList*L1,*L2;inta[10],b[10];inti;printf("请升序输入五个整数");for(i=0;i<8、5;i++
5、nkList*)malloc(sizeof(LinkList));s->data=a[i];r->next=s;r=s;}r->next=NULL;}voidDispList(LinkList*L){LinkList*p=L->next;while(p!=NULL){printf("%d",p->data);p=p->next;}printf("");}voidDestroyList(LinkList*L){LinkList*p=L,*q=p->next;while(q!=NULL){free(p);p=q;q=q->next;}free(p);}LinkLi
6、st*combine(LinkList*&L1,LinkList*&L2){LinkList*p=L1->next;LinkList*q=L2->next;LinkList*r;while(p!=NULL&&q!=NULL){if(p->data>q->data){r=q;q=q->next;L2->next=q;r->next=L1->next;L1->next=r;}elseif(p->data<=q->data){if(p->next){if(p->next->data>q->data){r=q;q=q->next;r->next=p->next;p->ne
7、xt=r;p=r;}elsep=p->next;}else{r=p;r->next=q;p=NULL;}}}if(q==NULL){L2->next=NULL;free(L2);}returnL1;}voidnixu(LinkList*&L){LinkList*p=L->next,*q;L->next=NULL;while(p){q=p->next;p->next=L->next;L->next=p;p=q;}}voidmain(){LinkList*L1,*L2;inta[10],b[10];inti;printf("请升序输入五个整数");for(i=0;i<
8、5;i++
此文档下载收益归作者所有