第2章 数组 数据结构(北师大)C++版.ppt

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

线性表 顺序表 稀疏矩阵 字符串 一、线性表 线性表 相同数据类型的元素的有限序列 叫线性表。 (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

文档评论(0)

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

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

1亿VIP精品文档

相关文档