数据结构(第五章线性表)DataStructures胡学钢张晶计算.ppt

数据结构(第五章线性表)DataStructures胡学钢张晶计算.ppt

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

第五章 线性表 第五章 线性表 5.1 线性表的定义和运算 5.2 顺序表 5.3 链表 5.4 其它结构形式的链表 5.5 串 5.1 线性表的定义和运算 5.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); 每月天数(31,29,31,30,31,30,31,31,30,31,30,31); 成绩表中,每个元素就是一个人的成绩信息。 特性: 除第一个元素外,其他元素有且仅有一个直接前趋(前驱); 除最后一个元素外,其他元素有且仅有一个直接后继。 5.1 线性表的定义和运算 5.1.2 线性表的运算 对线性表有如下基本运算: (1)初始化: 将线性表设置为空 (2)求长度: 返回线性表中的元素个数。 (3)按序号取元素: 从线性表中取出指定序号的元素。 前提:存在该元素。否则,应当如何处理? (4)按值查找元素: 在线性表中查找给定值的元素所在的位置。 若不存在,应如何给出相关信息? (5)插入: 在线性表中给定的位置(序号)插入给定值的元素。 (6)删除: 删除线性表种指定序号的元素。 前提:存在该元素。否则,应当如何处理? 5.1 线性表的定义和运算 线性表运算的C++描述----封装类 class list{ public: 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: … …//定义其它成员 }; 5.2 顺序表 5.2.1 存储结构: 与顺序栈、队列的讨论类似: 假设有一个足够大的存储空间(数组)data,用于存储线性表的元素。 则将线性表中的元素依次存储到数组中----顺序存储方式, 由此得到顺序表。 如下图所示: 其中,设置一个计数变量count ,以记录表中的元素个数。 将数组data和count作为类list的数据成员。 5.2 顺序表 由此得到类list如下: class list{ public: 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:

文档评论(0)

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

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

1亿VIP精品文档

相关文档