欢迎来到天天文库
浏览记录
ID:13059142
大小:169.00 KB
页数:9页
时间:2018-07-20
《数据结构实验两个有序顺序表的合并》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
南昌大学实验报告学生姓名:李木子学号:8000113146专业班级:软工133实验类型:□验证□综合□设计□创新实验日期:实验成绩:一、实验项目名称两个有序顺序表的结合二、实验目的顺序表的创建1.实现顺序表的追加2.实现顺序表的显示3.两顺序表的合并三、实验基本原理四、主要仪器设备及耗材电脑,VC6.0五、实验步骤/*******************************************//*顺序表的创建*//*1.实现顺序表的追加*//*2.实现顺序表的显示*//*3.两顺序表的合并*//*******************************************/#include#include#defineMAXSIZE100typedefintdatatype;/************************************//*顺序表结构体的定义*/ /************************************/typedefstruct{datatypea[MAXSIZE];intsize;}sequence_list;/************************************//*函数声明*//************************************/voidinit(sequence_list*slt);voidappend(sequence_list*slt,datatypex);voiddisplay(sequence_listslt);intfind(sequence_listslt,datatypex);voiddele(sequence_list*slt,datatypex);voidsort(sequence_list*s);voidcombine(sequence_list*s1,sequence_list*s2,sequence_list*s3);/************************************//*顺序表的初始化函数*//************************************/voidinit(sequence_list*slt){slt->size=0;}/************************************//*顺序表的追加函数*//************************************/voidappend(sequence_list*slt,datatypex){if(slt->size==MAXSIZE){printf(" 顺序表是满的!");exit(1);}slt->a[slt->size]=x;slt->size=slt->size+1;} /************************************//*顺序表的显示函数*//************************************/voiddisplay(sequence_listslt){inti;if(!slt.size){printf(" 顺序表为空");}else{for(i=0;isize-1;i++) slt->a[i]=slt->a[i+1];slt->size--;}/************************************//*顺序表的插入函数*//************************************/voidinsert(sequence_list*slt,datatypex){inti=0;i=find(*slt,x);for(;isize-1;i++)slt->a[i+1]=slt->a[i];slt->size++;}/************************************//*顺序表排序*//************************************/voidsort(sequence_list*s){inti;intj;inttemp;for(i=0;isize-1;i++){for(j=i+1;jsize;j++){if(s->a[i]>=s->a[j]){temp=s->a[i];s->a[i]=s->a[j];s->a[j]=temp;}}}} /************************************//*两个有序顺序表连接函数*//************************************/voidcombine(sequence_list*s1,sequence_list*s2,sequence_list*s3){inti=0;intj=0;intk=0;while(isize&&jsize){if(s1->a[i]<=s2->a[j]){s3->a[k]=s1->a[i];i++;}else{s3->a[k]=s2->a[j];j++;}k++;}if(i==s1->size){while(jsize){s3->a[k]=s2->a[j];k++;j++;}}if(j==s2->size){while(isize){s3->a[k]=s1->a[i];k++;}}s3->size=k;} /************************************//*主函数*//************************************/intmain(){inti;intj;intx;intn;sequence_listlist1;sequence_listlist2;sequence_listlist3;init(&list1);printf("第一个顺序表元素个数: ");scanf("%d",&n);printf("第一个顺序表输入: ");for(i=0;i
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处