第2章线性表精选PPT.ppt
《第2章线性表精选PPT.ppt》由会员分享,可在线阅读,更多相关《第2章线性表精选PPT.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章线性表第1页,此课件共17页哦22.1 线性表的定义和运算 2.1.1 线性表的定义线性表的定义:定义:定义:线性表线性表L是由是由n个元素个元素a1,a2,an组成的组成的 有限有限 序列序列。记作记作 L=(a1,a2,an)其中其中n=0为为表长度表长度;n=0时时L为为空表空表,记作,记作L=()()表中元素表中元素ai的含义:在不同的场合有不同的含义。的含义:在不同的场合有不同的含义。但是,在同一表中,元素类型相同。但是,在同一表中,元素类型相同。例例:字母表(:字母表(A,B,C,D,Z););数字表(数字表(0,1,2,3,4,9););2014年每月天数(年每月天数(31
2、,28,31,30,31,30,31,31,30,31,30,31);成绩表中,每个元素就是一个人的成绩信息。成绩表中,每个元素就是一个人的成绩信息。线性表的特性线性表的特性:除第一个元素外,其他元素有且仅有一个直接前趋(前驱);除第一个元素外,其他元素有且仅有一个直接前趋(前驱);除最后一个元素外,其他元素有且仅有一个直接后继。除最后一个元素外,其他元素有且仅有一个直接后继。逻辑结构和运算逻辑结构和运算第2页,此课件共17页哦32.1 线性表的定义和运算2.1.2 线性表的运算线性表的运算线性表有如下线性表有如下基本运算基本运算:(1)初始化:初始化:将线性表设置为空将线性表设置为空 (2)
3、求长度:求长度:返回线性表中的元素个数。返回线性表中的元素个数。(3)按序号取元素:按序号取元素:从线性表中取出指定序号的元素。从线性表中取出指定序号的元素。前提:存在该元素。否则,应当如何处理?前提:存在该元素。否则,应当如何处理?(4)按值查找元素:按值查找元素:在线性表中查找给定值的元素所在的位置。在线性表中查找给定值的元素所在的位置。若不存在,应如何给出相关信息?若不存在,应如何给出相关信息?(5)插入:插入:在线性表中给定的位置(序号)插入给定值的元素。在线性表中给定的位置(序号)插入给定值的元素。(6)删除:删除:删除线性表中指定序号的元素。删除线性表中指定序号的元素。前提:存在该
4、元素。否则,应当如何处理?前提:存在该元素。否则,应当如何处理?第3页,此课件共17页哦2.1 线性表的定义和运算设立运算是否正常的类型设立运算是否正常的类型error_code,正常时返回正常时返回success,否则返回错误类型,否则返回错误类型,如如overflow,underflow,rangeerror等。等。第4页,此课件共17页哦52.1 线性表的定义和运算线性表运算的线性表运算的C+描述描述-封装类封装类 class list public:list();int length()const;error_code get_element (const int i,elementt
5、ype&x)const;int locate(const elementtype x)const;error_code insert (const int i,const elementtype x);error_code delete_element(const int i);private:/定义其它成员 ;运算运算:(1)初始化:初始化:(2)求长度:求长度:(3)按序号取元素:按序号取元素:(4)按值查找元素:按值查找元素:(5)插入:插入:(6)删除:删除:?第5页,此课件共17页哦62.2 顺序表2.2.1 存储结构:存储结构:o讨论:讨论:n假设有一个足够大的存储空间(数组)假设
6、有一个足够大的存储空间(数组)data,用于存储线性表的元素。用于存储线性表的元素。n则将线性表中的元素依次存储到数组中则将线性表中的元素依次存储到数组中-顺序存储方式,顺序存储方式,n由此得到顺序表由此得到顺序表。n如下图所示:如下图所示:o其中,设置一个计数变量其中,设置一个计数变量count,以记录表中的元素个数。,以记录表中的元素个数。o将数组将数组data和和count作为类作为类list的数据成员。的数据成员。a1a2an01n-1maxlen-1datancount顺序表存储结构顺序表存储结构第6页,此课件共17页哦72.2 顺序表由此得到类由此得到类list如下如下:class
7、 listpublic:list();int length()const;error_code get_element(const int i,elementtype&x)const;int locate(const elementtype x)const;error_code insert(const int i,const elementtype x);error_code delete_element(const int i);private:elementtype datamaxlen;int count;list第7页,此课件共17页哦82.2 顺序表2.2.2 顺序表的运算实现:顺
8、序表的运算实现:n初始化:初始化:list:list()count=0;n求长度:求长度:int list:length()const return count;n 按序号取元素:按序号取元素:error_code list:get_element(const int i,elementtype&x)const if(i count)return rangeerror;x=datai 1;return success;第8页,此课件共17页哦92.2 顺序表n按值查找元素按值查找元素:int list:locate(const elementtype x)const for(i=0;i len
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性 精选 PPT
限制150内