数据结构算法设计与实现指导(上)ppt

数据结构算法设计与实现指导(上)ppt

ID:40210118

大小:928.50 KB

页数:113页

时间:2019-07-26

数据结构算法设计与实现指导(上)ppt_第1页
数据结构算法设计与实现指导(上)ppt_第2页
数据结构算法设计与实现指导(上)ppt_第3页
数据结构算法设计与实现指导(上)ppt_第4页
数据结构算法设计与实现指导(上)ppt_第5页
资源描述:

《数据结构算法设计与实现指导(上)ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构算法设计与实现指导(上)李岩芳何巍主编实验一:实验目的及要求理解线性表顺序存储的抽象数据类型的定义,及在C语言环境中的表示方法。理解线性表在顺序存储时的基本操作的算法,及在C语言环境中一些主要基本操作的实现。在C语言环境下实现线性表在顺序存储时的应用操作:将两个非递减的线性表合并成一个新的非递减的线性表。实验内容建立线性表结构取指定位置元素查找指定元素输出指定元素的前驱输出指定元素的后继插入元素删除元素访问线性表元素输出元素比较两个元素清空线性表判断线性表是否为空销毁线性表合并线性表主函数退出基本操作集函数应用函数比较两个

2、元素intcompare(ElemTypea,ElemTypeb){return(a-b);}输出元素voidprint(ElemType*c){printf("%d",*c);}访问线性表元素注意:该函数中传递的参数仍是一个函数.visit()是一个形参,在该程序的实际调用中,传递的实参为print(),也就是说,visit(p++)相当于调用print(p++)。用该种方式实现遍历。StatusListTraverse(SqListL,void(*visit)(ElemType*)){ElemType*p;inti;p=L.e

3、lem;for(i=1;i<=L.length;i++)visit(p++);printf("");returnOK;}输出指定元素的后继算法思想:在一个非空的线性表中,除最后一个数据元素之外,其余数据元素有且只有一个后继。故本函数处理时从第1个数据元素开始寻找与指定元素相等的数据元素,直到倒数第2个数据元素,控制条件采用的是i小于线性表的长度(i

4、xt_e){inti=1;ElemType*p=L.elem;while(i

5、,ElemTypecur_e,ElemType*pre_e){inti=2;ElemType*p=L.elem+1;while(i<=L.length&&*p!=cur_e){p++;i++;}if(i>L.length)returnINFEASIBLE;else{*pre_e=*--p;returnOK;}}查找指定元素算法思想:查找数据元素可引申出多个操作:取出某个指定的元素,修改某个指定的元素,找出某个指定元素的前驱和后继,输出从某个元素开始的m个元素等。intLocateElem(SqListL,ElemTypee,Sta

6、tus(*compare)(ElemType,ElemType)){ElemType*p;inti=1;p=L.elem;while(i<=L.length&&compare(*p++,e))++i;if(i<=L.length)returni;elsereturn0;}取指定位置元素算法思想:因为顺序存储的线性表具有随机存储的特点,当希望取出第i个位置的数据元素时,只要用存储空间的基地址加上前i-1个数据元素的存储空间即可。StatusGetElem(SqListL,inti,ElemType*e){if(i<1

7、

8、i>L.le

9、ngth)exit(ERROR);*e=*(L.elem+i-1);returnOK;}清空线性表判断线性表是否为空算法思想:当一个线性表的长度为0时就表明这个线性表不含有任何数据元素,故在这个函数中只要把线性表的长度修改为0即可。StatusClearList(SqList*L){(*L).length=0;returnOK;}//清空线性表清空线性表判断线性表是否为空判断线性表是否为空。StatusListEmpty(SqListL){if(L.length==0)returnTRUE;elsereturnFALSE;}建立线

10、性表结构算法思想:按照线性表顺序存储结构的定义,申请一串连续存储空间,即开辟一个指定大小的一维数组;指定空的线性表的长度,即为0;指定线性表的大小。StatusInitList(SqList*L){(*L).elem=(ElemType*)mall

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。