- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
山大数据结构_4
Chapter4 Arrays and Matrices Arrays Matrices Special Matrices Sparse Matrices 本章重点 矩阵ADT 特殊矩阵 稀疏矩阵 4.1 Arrays 数组的抽象数据类型描述 抽象数据类型Array{ 实例 形如(index,value)的数据对集合,其中任意两对数据的index值都各不相同 操作 Create():创建一个空的数组 Store(index,value):添加数据(index,value),同时删除具有相同index值的数据对(如果存在) Retrieve(index):返回索引值为index的数据对 C++数组 在C++中,值为整数类型的k维数组score可用如下语句来创建: int score[u1][u2][u3]...[uk] 为实现与数组相关的函数Store和Retrieve,必须把数组索引[i1][i2][i3]...[ik]映射到[0,n-1]中的某个数map(i1,i2,i3,...,ik),使得该索引所对应的元素值存储在以下位置:start+map(i1,i2,i3,...,ik)*sizeof(int) 一维数组 当数组维数为1时(即k=1),使用以下函数:map(i1)=i1 行主映射和列主映射Row- and Column-Major Mappings 二维数组行主映射 行主次序所对应的映射函数为:map(i1,i2)=i1u2+i2 其中u2是数组的列数。 在行主映射模式中,在对索引[i1][i2]进行编号时,第0,...i1-1行中的i1u2个元素以及第i1行中的前i2个元素都已经被编号。 三维数组行主映射 三维数组的行主映射函数为:map(i1,i2,i3)=i1u2u3+i2u3+i3 一维数组的类定义 templateclass T class Array1D { public: Array1D(int size = 0); Array1D(const Array1DT v); // 复制构造函数 ~Array1D() {delete []element;} T operator[](int i) const; int Size() {return size;} Array1DT operator=(const Array1DT v); Array1DT operator+() const; // 一元加法操作符 Array1DT operator+(const Array1DT v) const; Array1DT operator-() const; // 一元减法操作符 Array1DT operator-(const Array1DT v) const; Array1DT operator*(const Array1DT v) const; Array1DT operator+=(const T x); 一维数组的类定义 private: int size; T *element; //一维数组 }; 二维数组的类定义 templateclass T class Array2D { public: Array2D(int r = 0, int c = 0); Array2D(const Array2DT m); // 复制构造函数 ~Array2D() {delete [] row;} int Rows() const {return rows;} int Columns() const {return cols;} Array1DT operator[](int i) const; Array2DT operator=(const Array2DT m); Array2DT operator+() const; // 一元加法操作符 Array2DT operator+(const Array2DT m) const; Array2DT operator-() const; // 一元减法操作符 Array2DT operator-(const Array2DT m) const; Array2DT operator*(const Array2DT m) const; Array2DT operator+=(const T x); 二维数组的类定义 private: int rows, cols; // 数组维数 Array1DT *row; // 一维数组的数组 }; 4.2 Metrices 一个m×n 的矩阵是一个m行、n 列的表,其中m 和n 是矩阵的维数。 矩阵通常被用来组织数据。 矩阵 矩阵的操作 对于矩阵来说,最常见的操
您可能关注的文档
最近下载
- 质子治疗与护理.pptx
- 李清照《声声慢》完整教学课件.ppt VIP
- DL-T5210-2021电力建设施工质量验收及评价规程最新表格.docx
- 在线网课学习课堂《雷达原理》单元测试考核答案.docx VIP
- 《工程勘察设计收费标准》2002年修订本完整.pdf VIP
- 服装行业智能化产业生态构建策略研究:2025年现状与未来五到十年展望.docx
- SCIP准备和提交教程.pdf VIP
- 在线网课学习课堂《雷达原理与系统(中国人民解放军战略支援部队信息工程)》单元测试考核答案.docx VIP
- 城市轨道交通调度指挥:列车运行计划及列车运行图PPT教学课件.pptx
- 社会影响力投资手册.pdf
原创力文档


文档评论(0)