数据结构 课件 第2章 线性表(1定义及顺序表示).pptx

数据结构 课件 第2章 线性表(1定义及顺序表示).pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

2.1线性表的定义和操作;线性表是一个具有相同特性的数据元素的有限序列。;(a1,a2,…,ai,ai+1,…,an);?一个汽车线性表;?初始化线性表InitList(L):构造一个空的线性表L。

?销毁线性表DestroyList(L):释放线性表L占用的内存空间。

?判线性表是否为空表ListEmpty(L):若L为空表,则返回真,否则返回假。

?求线性表的长度ListLength(L):返回L中元素个数n。;?输出线性表DispList(L):线性表L不为空时,顺序显示L中各结点的值域。

?求线性表L中指定位置的某个数据元素GetElem(L,i,e):用e返回L中第i(1≤i≤n)个元素的值。

?定位查找LocateElem(L,e):返回L中第一个值域与e相等的逻辑位序。若这样的元素不存在,则返回值为0。

?插入一个数据元素ListInsert(L,i,e):在L的第i(1≤i≤n)个元素之前插入新的元素e,L的长度增1。

?删除数据元素ListDelete(L,i,e):删除L的第i(1≤i≤n)个元素,并用e返回其值,L的长度减1。;ADTList

{

数据对象:

D={ai|1≤i≤n,n≥0,ai为ElemType类型}

//ElemType是自定义类型标识符

数据关系:

R={ai,ai+1|ai、ai+1∈D,i=1,…,n-1}

基本运算:

9个运算

};;;线性表的知识结构;线性表顺序存储结构:把线性表中的所有元素按照顺序存储方法进行存储。;;typedefstruct

{ElemTypedata[MaxSize];

intlength;

}SqList; //顺序表类型;;L-data[1];voidCreateList(SqList*L,ElemTypea[],intn)

//整体建立顺序表

{inti=0,k=0;

L=(SqList*)malloc(sizeof(SqList));

while(in) //i扫描a中元素

{L-data[k]=a[i];

k++;i++; //k记录插入到L中的元素个数

}

L-length=k;

};顺序表;?顺序表指针引用;voidCreateList(SqList*L,ElemTypea[],intn)

{inti=0,k=0;

L=(SqList*)malloc(sizeof(SqList));

while(in) //i扫描a中元素

{L-data[k]=a[i];

k++;i++; //k记录插入到L中的元素个数

}

L-length=k;

};voidCreateList(SqList*L,ElemTypea[],intn)

{inti=0,k=0;

L=(SqList*)malloc(sizeof(SqList));

while(in) //i扫描a中元素

{L-data[k]=a[i];

k++;i++; //k记录插入到L中的元素个数

}

L-length=k;

};(1)初始化线性表InitList(L)

构造一个空的线性表L。实际上只需将length成员设置为0即可。;voidDestroyList(SqList*L)

{

free(L);

};boolListEmpty(SqList*L)

{

return(L-length==0);

};intListLength(SqList*L)

{

return(L-length);

};(5)输出线性表DispList(L)

该运算当线性表L不为空时,顺序显示L中各元素的值。;boolGetElem(SqList*L,inti,ElemTypee)

{

if(i1||iL-length)

returnfalse;

e=L-data[i-1];

returntrue;

};intLocateElem(SqList*L,ElemTypee)

{inti=0;

while(iL-lengthL-data[i]!=e)

i++;

if(i=L-length)

return0;

else

returni+1

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档