DS02_线性表1.ppt

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

SIE. BIT //纯虚函数,将链表中第i个结点删去 virtual int Remove(int i)=0; //纯虚函数,将元素值为value的结点删去 virtual int Remove(type value)=0; protected: //链表的数据成员:头指针和表长 ListNodetype *head; int length; }; SIE. BIT 2.3 抽象链表成员函数的实现 设置函数:将第i个结点数据元素值设为x。 templateclass type bool ablisttype::Set(type x, int i) { ListNodetype *p = Find(i); //寻找第i个结点位置 if(p==NULL||p==head) //i值不合法或为空表,返回false return false; else p-data=x; //修改第i个结点的数据元素值 return true; } SIE. BIT 取值函数:返回第i个结点的数据元素值。 templateclass type type ablisttype::Get(int i) { //寻找指向第i个结点位置 ListNodetype *p=Find(i); assert (p p!=head); //p不空也不为表头 return p-data; //返回第i个结点的数据元素值 } if (p p!=head) return errData; SIE. BIT 清空链表: 用q指向第一个结点,当链表不空时,循链逐个删除,仅保留表头结点。 templateclass type void ablisttype::MakeEmpty() { ListNodetype *q=head-next; int i=1; //链表不空,所以至少有一个结点 while(i++ = length) //当链表不空时,删去表中所有结点       { head-next=q-next; delete q; //循链逐个删除,仅保留表头结点 q=head-next; } length=0; } SIE. BIT 搜索数据元素值为value的结点 templateclass type ListNodetype*ablisttype::Find1(type value) { ListNodetype *p=head-next; int i=1; //循环条件包含空链表的情况 while (i++ = length p-data!=value) p=p-next; //循链找数据元素值value的结点 return p; } 思考:如何优化? SIE. BIT 定位函数:返回链表中第i个元素结点的地址 templateclass type ListNodetype*ablisttype::Find(int i) { if(i0 || ilength) return NULL; if(i==0) return head; //i=0时返回表头结点的地址 ListNodetype*p=head-next; //让检测指针p指向表 中第1个结点 int j=1; while(p!=NULL ji) //循链扫描,至第i个结点地址 { p=p-next; j++; } return p; //返回第i个结点地址 } 与顺序表比较 SIE. BIT 下次课程预告:单链表、循环链表 数据结构与算法设计 数据结构与算法设计 (1) SIE. BIT 主要内容 线性表有关概念-—逻辑和存储 1 抽象链表类 2 单链表 3 循环链表 4 SIE. BIT 1 线性表有关概念 线性表的逻辑结构 线性表的顺序存储表示 线性表的链式存储表示 SIE. BIT 1.1 线性表的逻辑结构 线性表是n=0个数据元素a1,a2……an-1,an的有序集合。表中每个元素ai在表中的位置仅取决于元素本身的序号i。当1in时,ai的直

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档