- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线性表 顺序表 稀疏矩阵 字符串 一、线性表 线性表 相同数据类型的元素的有限序列 叫线性表。 (a1, a2, … ,an-1, an) a1为首元,an为末元, n叫线性表的长度 ai的后继是ai+1, i=1, …,n-1. an没有后继。 ai的前驱是ai-1, i=2, …,n. a1没有前驱。 ai可以是基本数据类型也可以是struct 类型。 没有数据的线性表叫空表。空表的长度n=0。 线性表是最简单的也是最基本的数据结构。 线性表可以用来构造字符串,集合,栈,队列,用来排序。 线性表可以顺序表示用一组地址连续的存储单元一次存储数据元素。 线性表也可以用线性链表表示。 二、顺序表——线性表的顺序表示 可以用通用数组定义通用线性表。 通用数组是可变长度的数组,也叫安全数组。 #include array.h templateclass T class SeqList { ArrayTlistitem; //list storage array int size; public: SeqList(void); // constructor构造函数 // list access methods 线性表的访问操作 int ListSize(void) const; //取线性表的长 int ListEmpty(void)const; //问表是否空表 int Find (T item) const; //查找一个元素 T GetData(int pos) const; //取线性表中元素 // list modification methods线性表的修改操作 void Insert(const T item);//表尾插入元素 void Insert(const T item,int i); // 在第i个位插入一个新元素 void Delete(const T item);//删除一个元素 T DeleteFront(void); //删除首元 void ClearList(void); //清空 }; // constructor. set size to 0 templateclass T SeqListT::SeqList(void): listitem(size),size(0) { } // return number of elements in list templateclass T int SeqListT::ListSize(void) const { return size; } // tests for an empty list templateclass T int SeqListT::ListEmpty(void) const { return size == 0; } // clears list by setting size to 0 templateclass T void SeqListT::ClearList(void) { size = 0; } // Take item as key and search the list. //return True if item is in the list and // false otherwise. If found, assign the list // element to the reference parameter item. templateclass T int SeqListT::Find(T item) const { int i = 0; if (ListEmpty())return 0; // return False when list empty while(isize !(item==listitem[i])) i++; if (i size) { item = listitem[i]; // assign list element to item return 1; // return True } else return 0; // return false } // insert item at the rear of the list. templateclass T void SeqListT::Insert(const T item) { //如果超长,扩大内存 if
您可能关注的文档
最近下载
- 苏教版数学六年级上第一单元《长方体和正方体》复习试题(二).docx VIP
- 2025年高考俄语模拟试卷试题及答案完整版(含听力MP3原文)_可搜索.docx VIP
- 部编版语文四年级上册第2单元习作《我的家人》教学课件.pptx VIP
- 住院医师规范化培训基地管理的师资队伍与激励机制.pptx VIP
- 新苏教版五年级科学上册活动手册答案.pptx VIP
- 青葡萄科技桌面虚拟化技术白皮书.pdf VIP
- 中医科工作制度试题及答案.docx VIP
- 标书密封条格式标书密封条格式精选.doc VIP
- [黑河]2024年黑龙江黑河市爱辉区林业和草原局所属事业单位招聘37人笔试历年典型考题及解题思路分析.docx VIP
- 浙江鑫盛永磁科技股份有限公司年产1000吨高性能新能源汽车专用磁体生产线技术改造项目环评报告.docx VIP
文档评论(0)