欢迎来到天天文库
浏览记录
ID:52646649
大小:376.50 KB
页数:114页
时间:2020-04-12
《线性表顺序表 稀疏矩阵字符串.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、线性表顺序表稀疏矩阵字符串第二章数组一、线性表线性表相同数据类型的元素的有限序列叫线性表。(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。a1a2a3a4a5a6线性表是最简单的也是最基本的数据结构。线性表可以用来构造字符串,集合,栈,队列,用来排序。线性表可以顺序表示用一组地址连续的存储单元一次存储数据元素。线性表也可以用线性链表表示。二、顺序表
2、——线性表的顺序表示可以用通用数组定义通用线性表。通用数组是可变长度的数组,也叫安全数组。类模版通用数据类型//array.h例.通用数组抽象数组类型templateclassArray{T*alist;//指针数据表示一个数组intsize;//表示数组长度public:Array(ints=50)//构造函数Array(constArray&X);//拷贝构造函数~Array(){delete[]element;}//析构函数Array&operator=(constArray&X);//赋值函数重载T&operator[](in
3、ti);//一元运算[]重载下标函数operatorT*()const;//强制类型转换,将当前//对象变成指向它的首地址的指针,intArraySize()const;//取数组长voidResize(intsz);//数组长重定义friendostream&operator<<(ostream&,constArray&);//输出操作重载};#includetemplateclassSeqList{Arraylistitem;//liststoragearrayintsize;public:SeqList(void);
4、//constructor构造函数//listaccessmethods线性表的访问操作intListSize(void)const;//取线性表的长intListEmpty(void)const;//问表是否空表intFind(T&item)const;//查找一个元素TGetData(intpos)const;//取线性表中元素//listmodificationmethods线性表的修改操作voidInsert(constT&item);//表尾插入元素voidInsert(constT&item,inti);//在第i个位插入一个新元素voidDelete(c
5、onstT&item);//删除一个元素TDeleteFront(void);//删除首元voidClearList(void);//清空};//constructor.setsizeto0templateSeqList::SeqList(void):listitem(size),size(0){}//returnnumberofelementsinlisttemplateintSeqList::ListSize(void)const{returnsize;}//testsforanemptylisttemplate6、ssT>intSeqList::ListEmpty(void)const{returnsize==0;}//clearslistbysettingsizeto0templatevoidSeqList::ClearList(void){size=0;}//Takeitemaskeyandsearchthelist.//returnTrueifitemisinthelistand//falseotherwise.Iffound,assignthelist//elementtothereferenceparameteritem.template<7、classT>intSeqList::Find(T&item)const{inti=0;if(ListEmpty())return0;//returnFalsewhenlistemptywhile(i
6、ssT>intSeqList::ListEmpty(void)const{returnsize==0;}//clearslistbysettingsizeto0templatevoidSeqList::ClearList(void){size=0;}//Takeitemaskeyandsearchthelist.//returnTrueifitemisinthelistand//falseotherwise.Iffound,assignthelist//elementtothereferenceparameteritem.template<
7、classT>intSeqList::Find(T&item)const{inti=0;if(ListEmpty())return0;//returnFalsewhenlistemptywhile(i
此文档下载收益归作者所有