- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 电子元器件工程项目管理 课件 第八章 创新管理 课件.pdf
- 电子元器件工程项目管理 课件 第二章 组织管理 课件.pdf
- 电子元器件工程项目管理 课件 第九章 管理实例 课件.pdf
- 电子元器件工程项目管理 课件 第六章 风险管理 课件.pdf
- 电子元器件工程项目管理 课件 第七章 沟通管理 课件.pdf
- 电子元器件工程项目管理 课件 第三章 成本管理 课件.pdf
- 电子元器件工程项目管理 课件 第四章 进度管理 课件.pdf
- 电子元器件工程项目管理 课件 第五章 质量管理 课件.pdf
- 电子元器件工程项目管理 课件 第一章 管理理论 课件.pdf
- 数据结构 课件 第1章 绪论(1什么是数据结构) .pptx
最近下载
- 汽修公司汽车修理汽车保养突发环境应急预案.docx VIP
- 某水库除险加固工程施工组织设计.doc VIP
- 全国预防接种技能竞赛理论训练题库及答案(中华人民共和国疫苗管理法212题).docx VIP
- 2025年(完整)人教精通版小学英语3-6年级单词词汇表 .pdf VIP
- 天翼云认证解决方案架构师考试题及答案(新版).doc VIP
- 港迪HF659系列变频器使用说明书V100(G20200812).pdf VIP
- 水库除险加固工程施工组织设计120页.doc VIP
- 《农业政策热点培训》课件.ppt VIP
- 申凌门机NSFC01-01A控制器操作手册.pdf
- 从大食物观角度出发的中国饲料粮供给安全问题探讨.docx VIP
文档评论(0)