- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程的内容41
数据结构课程的内容; 一、教学内容: 1、线性表的定义和性质及基本运算; 2、线性表的顺序存储结构 3、线性表的链式存储结构 4、多项式的代数运算;第二章 线性表;第二章 线性表;(a1, a2, … ai-1,ai, a i+1 ,…, an)
;例 分析26 个英文字母组成的英文表;2.1 线性表的类型定义;线性表的抽象数据类型的定义:
ADT List{
数据对象:D={ai|ai∈Elemset,i=1,2,…,n,n≥0}
数据关系:R1={ai-1,ai|ai-1,ai∈D,i=2,…,n}
基本操作:
InitList(l)
操作结果:构造一个空的线性表L
DestroyList(l)
初始条件:线性表已存在
操作结果:销毁线性表L
; ClearList(l)
??????? 初始条件:线性表已存在
??????? 操作结果:置线性表L为空表
??????? ListEmpty(L)
??????? 初始条件:线性表已存在
??????? 操作结果:若线性表L为空表,则返回TRUE,否则返回FALSE
??????? ListLenght(L)
??????? 初始条件:线性表已存在
??????? 操作结果:返回线性表L数据元素个数
??????? GetElem(L,i,e)
??????? 初始条件:线性表已存在(1≤i≤ListLenght(L))
??????? 操作结果:用e返回线性表L中第i个数据元素的值;????????locatElem(L,e,comare())
??????? 初始条件:线性表已存在,comare()是数据元素判定函数
??????? 操作结果:返回线性表L中第1个与e满足关系comare()的数据元素的位序
??????? PriorElem(L,cur_e,pre_e)
??????? 初始条件:线性表已存在
??????? 操作结果:若cur_e是线性表L的数据元素,且不是第一个,则用pre_e返回它的前驱,否则操作失败,pre_e无定义
??????? NextElem(L,cur_e,)
??????? 初始条件:线性表已存在
??????? 操作结果:若cur_e是线性表L的数据元素,且不是第最后一个,则用next_e返回它的后继,否则操作失败,next_e无定义; ListInsert(L,i,e)
??????? 初始条件:线性表已存在(1≤i≤ListLenght(L)+1)
??????? 操作结果:在线性表L中第i个数据元素之前插入新元素e,L长度加1
??????? ListDelete(L,i,e)
??????? 初始条件:线性表已存在(1≤i≤ListLenght(L))
??????? 操作结果:删除线性表L中第i个数据元素,用e返回其值,L长度减1
??????? ListTraverse(L,visit())
??????? 初始条件:线性表已存在
??????? 操作结果:依次对线性表L的每个数据元素调用visit()函数,一旦visit()失败,则操作失败
??????? }ADT List;2.1 线性表的类型定义;算法细化后得到下列三步操作:;最后用类C语言描述为:;例2-2 ;算法描述为:;例2-3 ;算法描述为:;有线性表LA和LB,其元素均按非递减有序排列,编写一个算法将它们合并成一个线性表LC,且LC的元素也是按非递减有序排列。
算法思路:依次扫描通过LA和LB的元素,比较当前的元素的值,将较小值的元素赋给LC,如此直到一个线性表扫描完毕,然后将未完的那个顺序表中余下部分赋给LC即可。LC的容量要能够容纳LA、LB两个线性表相加的长度。;算法描述 为:;2.2 线性表的顺序表示和实现;2.2 线性表的顺序表示和实现;线性表的顺序存储结构定义(静态);线性表的顺序存储结构定义(动态);顺序表基本运算的实现;2、插入 在线性表的第i个位置前插入一个元素;Status ListInsert_sq(SqList L, int i, Elemtype x)
{
if (i1||iL.length+1) return ERROR;
if (L.length=L.listsize) return OVERFLOW;
for(j=L.length;j=i;j--)
L.elem[j]=L.elem[j-1];
L.elem[j]=x;
L.length++;
return(OK);
您可能关注的文档
最近下载
- 治疗原则及用药注意事项.pptx VIP
- GP规范中文版2.2_原创精品文档.pdf VIP
- 安徽灿松工程技术有限公司招聘简章.PDF VIP
- 制粉系统外委维护技术协议..doc VIP
- 华东理工大学《化工设备设计》期末知识点复习习题(含答案).pdf VIP
- 儿童流行性感冒中西医结合诊疗指南(2024)解读 PPT课件.pptx VIP
- 华东理工大学《过程流体机械》期末复习资料.pdf VIP
- GB50236-2011 现场设备、工业管道焊接工程施工规范.docx VIP
- 比亚迪新能源汽车零部件选型手册V2.6.pdf
- 凯恩帝K1000Mi-A,K1000M4i-A说明书(连接调试篇).pdf
原创力文档


文档评论(0)