- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CH06-列表剖析
内容简介 列表的ADT描述 基于静态数组的列表实现 基于动态数组的列表实现 单链表的介绍 单链表的实现 什么是列表? 超市货物列表 工作计划表 班级成绩表 1、列表的ADT描述 数据元素集合 数据元素的一个有限序列,所有元素都是同一类型。 基本操作 构造函数:创建空列表。 判空:检查列表是否为空。 插入:在列表中增加一项。 删除:在列表中删除一项。 遍历:按顺序访问和处理列表中元素,也称迭代操作。 列表类的创建 设计列表类 标识出实现ADT操作的函数成员 构造函数:创建空列表。 Empty():检查列表,根据列表是否为空返回真或假。 Insert():在列表给定位置增加一个值来修改列表。 Erase():删除列表中给定位置上的值来修改列表。 Display():遍历列表,显示每一个元素。 实现列表类 定义存储数据值的数据成员。 定义在设计阶段标识出的函数成员。 2、基于静态数组的列表实现 选择存储结构 列表元素是线性排列和数组元素一样 绝大多数编程语言提供了数组类型 开发基本点列表操作算法非常容易 2、基于静态数组的列表实现 #include iostream const int CAPACITY = 1024; typedef int ElementType; class List{ public: List(); bool empty() const; void insert(ElementType item, int pos); void erase(int pos); void display(ostream out) const; private: int mySize; ElementType myArray[CAPACITY]; }; ostream operator (ostream out, const List aList); 2、基于静态数组的列表实现 List::List( ) : mySize(0){} 2、基于静态数组的列表实现 void List::insert(ElementType item, int pos){ if (mySize == CAPACITY) { cerr *** No space for list element ***\n; exit(1); } if (pos 0 || pos mySize) { cerr *** Illegal location to insert -- pos . List unchanged. ***\n; return; } for(int i = mySize; i pos; i--) myArray[i] = myArray[i - 1]; myArray[pos] = item; mySize++; } 2、基于静态数组的列表实现 void List::erase(int pos){ if (mySize == 0) { cerr *** List is empty ***\n; return; } if (pos 0 || pos = mySize) { cerr Illegal location to delete -- pos . List unchanged. ***\n; return; } for(int i = pos; i mySize; i++) myArray[i] = myArray[i + 1]; mySize--; } 2、基于静态数组的列表实现 3、基于动态数组的列表实现(向量) 选择存储结构 去掉限定数组容量的常量声明,添加一个变量数据成员来存储在对象声明时由用户给定的数组容量 修改对象成员为一个指针,指向运行时动态分配的存储空间地址 3、基于动态数组的列表实现 #include iostream typedef int ElementType; class Li
您可能关注的文档
最近下载
- 《《机械创新设计》课程标准.doc VIP
- 小学残疾儿童送教上门教案(40篇).pdf
- 菜品知识培训.pptx
- 旅游收入与分配-(精选·公开·课件).ppt
- 2023年长三角一体化示范区苏州湾投资发展(江苏)有限公司人员招聘考试参考题库及答案解析.docx
- 高压氧治疗对于颈椎病患者的影响分析.pptx
- 2021年长三角一体化示范区苏州湾投资发展(江苏)有限公司招聘试题及答案解析.docx
- 尼可地尔夜景游览欣赏岛上迷人的夜间灯光和美景.pptx
- 2023年长三角一体化示范区苏州湾投资发展(江苏)有限公司招聘考试试题及答案解析.docx
- 第六单元跨学科实践活动5基于碳中和理念设计低碳行动方案教学设计-2024-2025学年九年级化学人教版上册.docx
文档评论(0)