




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1数据结构与算法分析数据结构与算法分析 线性表线性表本章重点难点第1页/共27页第2页/共27页第3页/共27页Tempate Class CList void Clear(); bool Append(const T value); bool Delete(const int p);.;模板是c+的软件复用的功能之一,此处定义的是模板类T通常是代表要处理的数据元素的类型第4页/共27页Tempate Class CarrList:public CList private: T *aList; /T类型的指针,存储线性表实例 int maxSize; /实例的最大长度 int curLe
2、n; /实例的当前长度 int position; / 当前处理位置 public: CarrList(const int size) maxSize = size; aList = new TmaxSize; curLen = position=0; CarrList() delete aList; bool Append(const T value) aListposition=value; position+; curLen+; ;创建顺序表的实例 第5页/共27页增加一个元素 bool Append(const T value) aListposition=value; positio
3、n+; curLen+; 修改一个元素 bool Change(const int pos,const T value) aListpos=value;读取一个元素 bool Read(const int pos) cout p; i-) aListi= aListi-1; aListp=value; curLen+; return true;删除一个元素 bool Dele(const int p) int i; for(i=p;icurLen-1;i+) aListi=aListi+1; curLen-; return true;查找一个元素 bool Find(int &p,co
4、nst T value) int i;for(i=0;icurLen;i+)if(value=aListi) p=i; return true;coutthe value is not in the list.n;return false;第6页/共27页适合存储静态数据第7页/共27页第8页/共27页a3a2a4a1数据域指针域结点头结点head头结点作用:标示一个链表;空表和非空表的处理统一;使表中第一个结点和其它位置上的结点操作一致第9页/共27页template class Linkpublic:T data; /结点的数据域Link * next; /结点的指针域Link( T in
5、fo, Link * nextValue= NULL)/具有两个参数的List构造函数 data =info; next =nextValue;Link( Link * nextValue=NULL)/具有一个参数的List构造函数 next =nextValue; ;第10页/共27页template class linkList :public Link /继承结点类private:Link * head; /定义头指针int len; /存储链表的长度public:linkList( ) head= new Link ( ); len=0; linkList( ) Link *p; wh
6、ile(head!=NULL) p=head; head=head-next; delete p; ;第11页/共27页head1P-next = head-nextHead-next = phead12132112312last-next = pp-next = NULL第12页/共27页headpre-next = dele-nextDelete dele31pre2dele第13页/共27页headP-next = pre -nextpre-next = p31pre24p第14页/共27页void Append( T value) Link *p=new Link(value); Li
7、nk *q=head;while(q-next!=NULL)q=q-next; q-next=p;len+;第15页/共27页void Show()/显示链表 Link *p=head-next; while(p!=NULL) coutdata ; p=p-next; coutNULLlen)coutthe position is not illegal!;return false;int i; Link *p=head,*q;q=new Link(d);for(i=0;inext;q-next=p-next;p-next=q;len+;return true;第17页/共27页a3a1a4a
8、2后继指针前驱指针head第18页/共27页template class doubleLinkpublic:T data; /结点的数据域doubleLink * next; /结点的后继指针doubleLink * pre; /结点的前驱doubleLink( T info, doubleLink * nextValue= NULL, doubleLink * preValue= NULL ) /具有三个参数的List构造函数data =info; next =nextValue; pre = preValue;doubleLink(doubleLink * nextValue=NULL ,
9、 doubleLink * preValue= NULL ) /具有两个参数的List构造函数next =nextValue; pre = preValue; ;第19页/共27页template class doubleList :public doubleLink /继承结点类private:doubleLink * head; /定义头指针int len; /存储链表的长度public:doubleList( ) head= new doubleLink ; len=0; linkList( ) Link *p; while(head!=NULL) p=head; head=head-next; delete p; ;第20页/共27页headP-next = head-nextHead -next-pre=pHead-next = pP-pre=head;head321123last-next = pp-pre=last第21页/共27页headp-next-pre = p-preP-pre-next=p-nextDelete p312 p第22
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年互联网医疗平台在线问诊患者健康档案管理报告
- 浙江电商仓库租赁协议书
- 村级道路协管员协议合同
- 移动员工合同续签协议书
- 美业入股协议合同书模板
- 高速公路护坡合同协议书
- 潮州打印机租赁协议合同
- 汝州市餐饮分包协议合同
- 派出所要求监控合同范本
- 物品回收后加工合同范本
- 【正版授权】 IEC 60931-2:2025 EN-FR Shunt power capacitors of the non-self-healing type for AC systems having a rated voltage up to and including 1 000 V - Part 2: Ageing test and destru
- 网络安全运维认证试卷含答案
- 2025年江苏盐城市射阳县城市照明服务有限公司聘考试笔试试题(含答案)
- 2025年团委工作总结-循“荔枝之道”而行走稳青春育人之路
- 消防装备维护保养课件教学
- 设备安全培训
- 2025至2030中国角膜塑形镜行业产业运行态势及投资规划深度研究报告
- 艾梅乙反歧视培训课件
- 小学数学课堂教学实践与创新
- 妇幼保健院(2025-2025年)十五五发展规划
- 健康铅中毒课件
评论
0/150
提交评论