收藏 分销(赏)

数据结构实验报告-顺序表的创建、遍历及有序合并操作.doc

上传人:a199****6536 文档编号:4112762 上传时间:2024-07-30 格式:DOC 页数:11 大小:23.04KB
下载 相关 举报
数据结构实验报告-顺序表的创建、遍历及有序合并操作.doc_第1页
第1页 / 共11页
数据结构实验报告-顺序表的创建、遍历及有序合并操作.doc_第2页
第2页 / 共11页
数据结构实验报告-顺序表的创建、遍历及有序合并操作.doc_第3页
第3页 / 共11页
数据结构实验报告-顺序表的创建、遍历及有序合并操作.doc_第4页
第4页 / 共11页
数据结构实验报告-顺序表的创建、遍历及有序合并操作.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、数据结构实验报告-顺序表的创建、遍历及有序合并操作二、实验内容与步骤实现顺序表的创建、遍历及有序合并操作,基本数据结构定义如下:typedef int ElemType;define MAXSIZE 100#define FALSE 0define TRUE 1typedef structElemType dataMAXSIZE; int length;seqlist;创建顺序表,遍历顺序表#includestdio。h#includeelem) printf(”空间划分失败,程序退出n”); return NULL; Llength=0; Llistsize=MAXSIZE; return

2、L;int CreateList(SqList L) /创建顺序表(非空) int number; /顺序表中元素的个数 int i; /循环变量 printf(请输入顺序表中元素的个数:”); scanf(d,&number); if(number MAXSIZE) /一定要判断输入的个数是否大于顺序表的最大长度 printf(”输入个数大于顺序表的长度n”); return 0; for(i=0;inumber;i+) printf(输入第d个数: ”,i+1); scanf(”d,Lelem+i); /L-elem+i:每次的输入都保存在顺序表元素中的下一个地址,而不是一直放在元素的首地

3、址 /给顺序表中每个数据元素赋值 L-length=number; /当前顺序表的长度 return 1;void print(SqList* L) /遍历顺序表 int i; printf(”n开始遍历顺序表n”); for(i=0;iLlength;i+) printf(d”,*(L-elem + i); /Lelem+i:和输入是一个道理 printf(”n遍历结束n”); printf(n”);int main() SqList* L = InitList(); /申请一个指向顺序表的指针,并对其初始化 if(!L) /判断申请是否成功 printf(”初始化线性表失败n”); ret

4、urn 1; if(!CreateList(L) /判断创建顺序表是否成功 printf(创建顺序表失败n); return 1; print(L); /打印顺序表与上面遍历顺序表相对应,若没有就不遍历 free(L-elem); /释放申请的顺序表元素的内存 free(L); /释放申请的顺序表内存 return 0;表的有序合并include stdio。hinclude stdlib。h#define MAXSIZE 100typedef int ElemType;/顺序表结构体的定义typedef structElemType dataMAXSIZE ;int size;seqlist

5、;/函数声明 void init(seqlist slt) ;void display(seqlist slt) ;void sort(seqlist s) ;void combine( seqlist *s1 ,seqlist *s2 ,seqlist *s3) ;/顺序表的初始化函数 void init(seqlist slt)sltsize=0 ;/顺序表的显示函数void display(seqlist slt)int i;if(!slt。size)printf(”n顺序表为空) ;else for(i=0;islt。size;i+)printf(”n%dn”,slt.datai) ;

6、/顺序表排序 void sort(seqlist *s)int i ;int j ;int temp ;for(i=0;isize;j+)if(s-datai=s-dataj)temp=sdatai;s-datai=s-dataj;s-dataj=temp;/两个有序顺序表连接函数void combine(seqlist *s1 , seqlist s2 , seqlist s3 )inti=0 ;int j=0 ;int k=0 ;while( i s1-size & j datai=s2dataj)s3datak=s1-datai;i+;elses3-datak=s2dataj;j+;k+

7、;if(i=s1size)while(jsize)s3datak=s2dataj;k+;j+;if(j=s2size)while(idatak=s1-datai;k+;i+;s3size=k;/主函数 int main()int i ;int j ;int x ;int n ;seqlist list1 ;seqlist list2 ;seqlist list3 ;init(list1);printf(”第一个顺序表元素个数:n);scanf(”d” ,n) ;printf(第一个顺序表输入:n);for(i=0 ; in ; i+)scanf(”d”,list1.datai) ;list1。size+ ;sort(list1);/第一个表排序init(&list2);printf(第二个顺序表元素个数:n”);scanf(”d” ,n) ;printf(”第二个顺序表输入:n);for(i=0 ; in ; i+)scanf(”%d,list2。datai) ;list2。size+ ;sort(&list2);/第二个表排序init(list3) ;combine(list1 ,list2 ,list3) ;printf(”表一与表二连接后:n”) ;display(list3) ;return 0;

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服