欢迎来到天天文库
浏览记录
ID:52599855
大小:394.00 KB
页数:93页
时间:2020-04-11
《一维数组多维数组线性表顺序表 多项式稀疏矩阵字符串.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、一维数组多维数组线性表顺序表多项式稀疏矩阵字符串第二章数组一维数组定义相同类型的数据元素的集合。一维数组的示例与顺序表的不同在于数组可以按元素的下标直接存储和访问数组元素。352749186054778341020123456789数组的定义和初始化#includeclassszcl{inte;public:szcl(){e=0;}szcl(intvalue){e=value;}intget_value(){returne;}}main(){szcla1[3]={3,5,7},*elem;f
2、or(inti=0;i<3;i++)cout<get_value()<<“”;//动态elem++;}return0;}一维数组(Array)类的定义#include#includetemplateclassArray{Type*elements;//数组存放空间intArraySize;//当前长度voidg
3、etArray();//建立数组空间public:Array(intSize=DefaultSize);Array(constArray&x);~Array(){delete[]elements;}Array&operator=//数组复制(constArray&A);Type&operator[](inti);//取元素值intLength()const{returnArraySize;}//取数组长度voidReSize(intsz);//扩充数组}template4、sType>voidArray::getArray(){//私有函数:创建数组存储空间elements=newType[ArraySize];if(elements==NULL){arraySize=0;cerr<<“存储分配错!"<Array::Array(intsz){//构造函数if(sz<=0){arraySize=0;cerr<<“非法数组大小”<5、=sz;getArray();}templateArray::Array(Array&x){//复制构造函数intn=ArraySize=x.ArraySize;elements=newType[n];if(elements==NULL){arraySize=0;cerr<<“存储分配错”<6、templateType&Array::operator[](inti){//按数组名及下标i,取数组元素的值if(i<07、8、i>ArraySize-1){cerr<<“数组下标超界”<voidArray::Resize(intsz){if(sz>=0&&sz!=ArraySize)9、{Type*newarray=newType[sz];//创建新数组if(newarray==NULL){cerr<<“存储分配错”<10、warray;ArraySize=sz;}}多维数组多维数组是一维数组的推广多维数组是一种非线性结构。其特点是每一个数据元素可以有多个直接前驱和多个直接后继。数组元素的下标一般具有固定的下界和上界,因此它比其他复杂的非线性结构简单。二维数组三维数组行向量下标i页向量下标i列向量下标j行向量下标j列向量下标k数组的连续存储方式一维数组3527491860547
4、sType>voidArray::getArray(){//私有函数:创建数组存储空间elements=newType[ArraySize];if(elements==NULL){arraySize=0;cerr<<“存储分配错!"<Array::Array(intsz){//构造函数if(sz<=0){arraySize=0;cerr<<“非法数组大小”<5、=sz;getArray();}templateArray::Array(Array&x){//复制构造函数intn=ArraySize=x.ArraySize;elements=newType[n];if(elements==NULL){arraySize=0;cerr<<“存储分配错”<6、templateType&Array::operator[](inti){//按数组名及下标i,取数组元素的值if(i<07、8、i>ArraySize-1){cerr<<“数组下标超界”<voidArray::Resize(intsz){if(sz>=0&&sz!=ArraySize)9、{Type*newarray=newType[sz];//创建新数组if(newarray==NULL){cerr<<“存储分配错”<10、warray;ArraySize=sz;}}多维数组多维数组是一维数组的推广多维数组是一种非线性结构。其特点是每一个数据元素可以有多个直接前驱和多个直接后继。数组元素的下标一般具有固定的下界和上界,因此它比其他复杂的非线性结构简单。二维数组三维数组行向量下标i页向量下标i列向量下标j行向量下标j列向量下标k数组的连续存储方式一维数组3527491860547
5、=sz;getArray();}templateArray::Array(Array&x){//复制构造函数intn=ArraySize=x.ArraySize;elements=newType[n];if(elements==NULL){arraySize=0;cerr<<“存储分配错”<6、templateType&Array::operator[](inti){//按数组名及下标i,取数组元素的值if(i<07、8、i>ArraySize-1){cerr<<“数组下标超界”<voidArray::Resize(intsz){if(sz>=0&&sz!=ArraySize)9、{Type*newarray=newType[sz];//创建新数组if(newarray==NULL){cerr<<“存储分配错”<10、warray;ArraySize=sz;}}多维数组多维数组是一维数组的推广多维数组是一种非线性结构。其特点是每一个数据元素可以有多个直接前驱和多个直接后继。数组元素的下标一般具有固定的下界和上界,因此它比其他复杂的非线性结构简单。二维数组三维数组行向量下标i页向量下标i列向量下标j行向量下标j列向量下标k数组的连续存储方式一维数组3527491860547
6、templateType&Array::operator[](inti){//按数组名及下标i,取数组元素的值if(i<0
7、
8、i>ArraySize-1){cerr<<“数组下标超界”<voidArray::Resize(intsz){if(sz>=0&&sz!=ArraySize)
9、{Type*newarray=newType[sz];//创建新数组if(newarray==NULL){cerr<<“存储分配错”<10、warray;ArraySize=sz;}}多维数组多维数组是一维数组的推广多维数组是一种非线性结构。其特点是每一个数据元素可以有多个直接前驱和多个直接后继。数组元素的下标一般具有固定的下界和上界,因此它比其他复杂的非线性结构简单。二维数组三维数组行向量下标i页向量下标i列向量下标j行向量下标j列向量下标k数组的连续存储方式一维数组3527491860547
10、warray;ArraySize=sz;}}多维数组多维数组是一维数组的推广多维数组是一种非线性结构。其特点是每一个数据元素可以有多个直接前驱和多个直接后继。数组元素的下标一般具有固定的下界和上界,因此它比其他复杂的非线性结构简单。二维数组三维数组行向量下标i页向量下标i列向量下标j行向量下标j列向量下标k数组的连续存储方式一维数组3527491860547
此文档下载收益归作者所有