四川大学数据结构与算法设计第5讲数组和广义表
Section 1Array 数组的抽象数据类型定义ADT Array { D={ aj1,j2, ...,,ji, jn|ji=0,...,bi-1, i=1,2,..,n } (n称数组的维数,bi是数组第i维的长度,ji是数组元素的第i维下标) R={R1, R2, ..., Rn} Ri={aj1,... ji,... jn ,aj1, ...ji+1, ...jn |0? jk?bk-1, 1?k?n且k?i, 0?ji?bi-2,i=2,...,n } } ADT Array 基本操作二维数组的定义数据对象: D = {aij | 0≤i≤b1-1, 0 ≤j≤b2-1}数据关系: R = { ROW, COL } COL = {ai,j,ai+1,j| 0≤i≤b1-2, 0≤j≤b2-1} ROW = {ai,j,ai,j+1| 0≤i≤b1-1, 0≤ j≤b2-2}基 本 操 作InitArray(A, n, bound1, ..., boundn)DestroyArray(A)Value(A, x, index1, ..., indexn)Assign(A, x, index1, ..., indexn)InitArray(A, n, bound1, ..., boundn) 操作结果:若维数 n 和各维长度 合法,则构造相应的 数组A,并返回OK。 DestroyArray(A) 操作结果:销毁数组A。 Value(A, x, index1, ..., indexn) 初始条件: A是n维数组,x为元素变 量,随后是n 个下标值。 操作结果:若各下标不超界,则x赋值 为所指定的A 的元素值,并 返回OK。 Assign(A, x, index1, ..., indexn) 初始条件: A是n维数组,x为 元素变量,随后是n 个下标值。 操作结果:若下标不超界,则 将 x的值赋给所指 定的A的元素,并 返回 OK。一维数组定义 相同类型的数据元素的集合。一维数组的示例与顺序表的不同在于数组可以按元素的下标直接存储和访问数组元素。0 1 2 3 4 5 6 7 8 935 27 49 18 60 54 77 83 41 02一维数组(Array)类的定义template class Typeclass Array { Type *elements;//数组存放空间 int ArraySize;//当前长度 void getArray ( );//建立数组空间 public: Array( int Size=DefaultSize ); Array( const ArrayType x ); ~Array( ) { delete [ ]elements;} ArrayType operator= //数组赋值 ( const ArrayType A ); Type operator[ ]( int i ); //取元素值 int Length()const { return ArraySize; }//取数组长度 void ReSize ( int sz );//扩充数组 }一维数组公共操作的实现template class Typevoid ArrayType :: getArray ( ) { //私有函数:创建数组存储空间 elements = new Type[ArraySize];}template class TypeArrayType :: Array ( int sz ) { ArraySize = sz; getArray ( ); }template class Type ArrayType::Array(ArrayType x){ int n = ArraySize = x.ArraySize; elements = new Type[n]; Type *srcptr = x.elements; Type *destptr = elements; while ( n-- ) * destptr++ = * srcptr++; }template class Type ArrayType::Array(ArrayType x){ int Size = x.ArraySize; elements = new Type[Size]; for(int i=0;iSize;i++) elements[i]=x.elements[i]; }template class TypeType ArrayType::operator[ ](int i){ i
您可能关注的文档
- 施工现场临时用电安全技术规范jgj460宣贯材料.pptx
- 施工现场临时用电安全技术规范(课件.pptx
- 施工现场临时用电安全技术规范20().pptx
- 施工现场临时用电安全技术规范 课件建筑资料.pptx
- 施工现场临时用电安全技术规范教程图文.pptx
- 施工现场临时用电安全技术规范 jgj46强制性条文 讲座.pptx
- 施工现场临时用电安全技术规范jgj46宣贯讲义(附图丰富).pptx
- 施工现场临时用电安全技术规范讲解(.pptx
- 施工现场临时用电安全技术讲义讲稿.pptx
- 施工现场临时用电安全技术蚯蚓).pptx
- 2026年万博科技职业学院单招职业技能考试题库有答案详解.docx
- 2026年万博科技职业学院单招职业技能考试题库有答案详解.docx
- 2026年万博科技职业学院单招职业技能考试题库带答案详解(轻巧夺冠).docx
- 2026年万博科技职业学院单招职业技能考试题库带答案详解(达标题).docx
- 2026年万博科技职业学院单招职业技能考试题库带答案详解(黄金题型).docx
- 2026年万博科技职业学院单招职业技能考试题库带答案详解(精练).docx
- 2026年万博科技职业学院单招职业技能考试题库带答案详解(考试直接用).docx
- 2025-2026学年第二学期初二年级语文备课组教学计划:以读促写,提升写作能力.docx
- 2026年万博科技职业学院单招职业技能考试题库带答案详解(突破训练).docx
- 2026年万博科技职业学院单招职业技能考试题库带答案详解(最新).docx
最近下载
- 《工业机器人基础》课程考试试卷A-附答案.doc VIP
- 工业机器人技术基础考试试卷附答案.docx VIP
- 成人学士学位英语1000个高频必考词汇汇总.pdf VIP
- 急危重症的识别.pptx VIP
- 工业机器人技术基础(第2版)许文稼课后习题答案解析.pdf VIP
- 老年语音助手创业计划书.docx VIP
- 《GBT24745-2009技术产品文件词汇图样注语》(最新)深度解析.pptx
- 2025年高考数学真题分类汇编专题07 数列(全国)(解析版).docx VIP
- 饿了么何以从草根中脱颖而出?.pdf VIP
- (人教版)化学九上 第六单元碳和碳的氧化物 大单元教学设计 .pdf VIP
原创力文档

文档评论(0)