ds_2010_22数据结构课件

ds_2010_22数据结构课件

ID:34573334

大小:241.38 KB

页数:26页

时间:2019-03-08

ds_2010_22数据结构课件_第1页
ds_2010_22数据结构课件_第2页
ds_2010_22数据结构课件_第3页
ds_2010_22数据结构课件_第4页
ds_2010_22数据结构课件_第5页
资源描述:

《ds_2010_22数据结构课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二章线性表(2)《数据结构》主讲:林华《数据结构》主讲:林华线性表的顺序表示:用一组地址连续的存储单元依次存放线性表中的数据元素a1a2……ai-1ai……an线性表的起始地址称作线性表的基地址《数据结构》主讲:林华以“存储位置相邻”表示有序对>即:LOC(ai)=LOC(ai-1)+C一个数据元素所占存储量↑所有数据元素的存储位置均取决于第一个数据元素的存储位置LOC(ai)=LOC(aLOC(a1))+(i-1)×C↑基地址《数据结构》主讲:林华由于只要确定了存储线性表的起始位置,线性表中任一数据元素都可以随机存取,所以线性表的顺序存储结构是一种随机存取的存储

2、结构。《数据结构》主讲:林华顺序存储结构的线性表称为顺序表顺序表的特点:以元素在计算机内““物理位置相邻””来表示线性表中数据元素之间逻辑关系上的相邻。《数据结构》主讲:林华在高级程序设计语言中,数组类型具有随机存储的特性。通常用一维数组来描述数据结构中的顺序存储结构《数据结构》主讲:林华动态分配顺序存储结构的CC语言描述#defineLIST_INIT_SIZE100//线性表存储空间的初始分配量#defineLISTINCREMENT10//线性表存储空间的分配增量typedefstruct{ElemType*elem;//存储空间基址,elem中存放ElemType型数据的基址intl

3、ength;//当前长度(数据元素的个数)intlistsize;//当前分配的存储空间大小//(以sizeof(ElemType)为单位)}SqList;//俗称顺序表《数据结构》主讲:林华线性表的基本操作在顺序表中的实现InitList_Sq(&LInitList_Sq(&L)//)//结构初始化LocateElem_Sq(LLocateElem_Sq(L,e,compare())//,e,compare())//查找ListInsert_Sq(&LListInsert_Sq(&L,i,e)//,i,e)//插入元素ListDelete_Sq(&LListDelete_Sq(&L,i)/

4、/,i)//删除元素《数据结构》主讲:林华线性表操作InitList_Sq(&LInitList_Sq(&L))结构初始化的实现:首先分析::(1)申请空间(2)空表长度为0(3)初始存储容量为LIST_INIT_SIZE《数据结构》主讲:林华StatusInitList_Sq(SqList&L){//构造一个空的线性表L.elem=(ElemType*)malloc(LIST_INIT_SIZE∗sizeof(ElemType));//将这片连续空间的基址强制转换为ElemType型指针赋给L.elemif(!L.elem)exit(OVERFLOW);//存储分配失败,则返回(OVERF

5、LOW)L.length=0;//否则设置空表长度为0L.listsize=LIST_INIT_SIZE;//初始存储容量为LIST_INIT_SIZE个分配单位returnOK;算法时间复杂度时间复杂度:O(1)O(1)}//InitList_Sq《数据结构》主讲:林华线性表操作LocateElem_Sq(LLocateElem_Sq(L,e,compare()),e,compare())在顺序表LL中查找第11个值与ee满足判定条件compare()compare()的数据元素,,若找到,,则返回其在LL中的位序。否则返回00。查找定位的实现:《数据结构》主讲:林华首先分析::例如:顺序

6、表L.listsizeL.elem2375413854621723754138546217ppppppppppL.lengthppii112233441881234812348可见,基本操作是:将顺序表中的元素e=e=38385050逐个和给定值e相比较。《数据结构》主讲:林华intLocateElem_Sq(SqListL,ElemTypee,算法的时间复杂度为:Status(*compare)(ElemType,ElemType)){O(ListLength(L))//在顺序表中查询第一个满足判定条件的数据元素,//若存在,则返回它的位序,否则返回0//Status(*compare)(

7、ElemType,ElemType)整体是LocateElem_Sq的一个形参,将函数指针变量compare作为形参,compare中放的是函数的入口地址。函数需要两个ElemType型参数,函数自身返回Status型结果。i=1;//i的初值为第1元素的位序p=L.elem;//p的初值为第1元素的存储位置while(i<=L.length&&!(*compare)(*p++,e))++i;//(*comp

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

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

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