清华大学:《数据结构》课程电子教案(PPT课件讲稿)第二章 数组

第二章数颯 作为抽象数据类型的数组 0厦序表( Sequential List 0多项玉象数据类型 (Polynomial ADTI a疏矩阵( Sparse matrix) 0字符串( tring
作为抽象数据类型的数组 顺序表 (Sequential List) 多项式抽象数据类型 (Polynomial ADT) 稀疏矩阵 (Sparse Matrix) 字符串 (String)

作为抽象数据类型的数组 0一维数组 口一维数组的示例 0123456789 35274918605477834102
作为抽象数据类型的数组 一维数组 一维数组的示例

一雏数组的特点 a连续存储的线性聚集(别名向量) a除第一个元素外,其他每一个元素有 个且仅有一个直接前驱。 a除最后一个元素外,其他每一个元素 有一个且仅有一个直接后继。 012345678 a352749186054778341 90 乙*
一维数组的特点 连续存储的线性聚集(别名 向量) 除第一个元素外,其他每一个元素有 一个且仅有一个直接前驱。 除最后一个元素外,其他每一个元素 有一个且仅有一个直接后继

数组的定义和初始化 #include class szci int eo public score=0; scl(int value ie=value; 3 int get value( return e; 3
数组的定义和初始化 #include class szcl { int e; public: szcl ( ) { e = 0; } szcl ( int value ) { e = value; } int get_value ( ) { return e; } }

main(i scl a13]={3,5,7},*elem; for(inti=0,3,计++) cout <<alli.get value o<<"n; /打印静恋数组 elem = &al for(inti=0,3,计+){ cout << elem-get value(<<"n; /打印动恋数组 elem++ return 0;
main ( ) { szcl a1[3] = { 3, 5, 7 }, *elem; for ( int i=0, i<3, i++ ) cout << a1[i].get_value ( ) << “\n”; //打印静态数组 elem = &a1; for ( int i=0, i<3, i++ ) { cout << elem→get_value( ) << “\n”; //打印动态数组 elem++; } return 0; }

一维数组Ar类的义 #include #include template class Array i Type elemen;数组存放空间 int ArraySize /前长度 void getArray(;∥建立数组空间 public C° Array(int Size- DefaultSize ) Array(const Array&x)
一维数组(Array)类的定义 #include #include template class Array { Type *elements; //数组存放空间 int ArraySize; //当前长度 void getArray ( ); //建立数组空间 public: Array(int Size=DefaultSize ); Array(const Array& x );

cArrayoi delete l elements; 3 array K& operator const Array &A); Type& operato[](int i); Array operator Type *( const i return elements; y int Length( const f return Array Size; j void Resize( int sz)
~Array( ) { delete [ ]elements;} Array & operator = ( const Array & A ); Type& operato [ ] ( int i ); Array operator Type * ( ) const { return elements; } int Length ( ) const { return ArraySize; } void ReSize ( int sz ); }

一雏数组公共操作的实现 template void Array:getArray o& /私有函数:创建数组存储空 elements new Type[Array Size]: if (elements ==0) cerr << Memory allocation Error/ <Kendl
template void Array::getArray ( ) { //私有函数:创建数组存储空间 elements = new Type[ArraySize]; if ( elements == 0 ) cerr << "Memory Allocation Error" <<endl; } 一维数组公共操作的实现

template void Array:: Array( int sz)& /构造函数 f(sz<=0){ cerr < "Invalid Array size"<< endl; return Array Size =Sz; getarray(
template void Array::Array ( int sz ) { //构造函数 if ( sz <= 0 ) { cerr << "Invalid Array Size" << endl; return; } ArraySize = sz; getArray ( ); }

template Array:: Array( const Array &xi )制构造函数 int n= Array Size =x Array Size elements= new Typen; if (elements ==0) cerr<<"Memory Allocation Error < endl Type *srcptr=x elements, Type * destptr =elements; whille(n-)*destptr++=*srcptr++
template Array:: Array ( const Array & x ) { //复制构造函数 int n = ArraySize = x.ArraySize; elements = new Type[n]; if ( elements == 0 ) cerr << "Memory Allocation Error" << endl; Type *srcptr = x.elements; Type *destptr = elements; while ( n-- ) * destptr++ = * srcptr++; }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第一章 绪论.ppt
- 《路由原理》 第四讲 路由选择、路由表的建立与刷新.ppt
- 《路由原理》 第三讲 重点章节综合习题.ppt
- 《路由原理》 第二讲 补充路由算法.ppt
- 《路由原理》 第一讲 实践利用Boson Netsim模拟静态路由.ppt
- 《IP数据报知识点》 第16次课 IP数据报选项、ICMP报文.ppt
- 《IP数据报知识点》 第15次课 IP数据报格式、封装、分组重组.ppt
- 《IP数据报知识点》 讲义PPT电子课件.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第八章 并发控制.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第七章 数据库恢复技术.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第六章 数据库设计 6.5 数据库的物理设计 6.6 数据库实施 6.7 数据库运行与维护.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第六章 数据库设计 6.4 逻辑结构设计.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第六章 数据库设计 6.3 概念结构设计.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第六章 数据库设计 6.1 数据库设计概述 6.2 需求分析.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第五章 关系数据理论.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第四章 关系系统及其查询优化 4.1 关系系统 4.2 关系系统的查询优化 4.3 小结.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第三章 关系数据库标准语言SQL 3.7 嵌入式SQL 3.8 小结.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第三章 关系数据库标准语言SQL 3.6 数据控制.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第三章 关系数据库标准语言SQL 3.4 数据更新 3.5 视图.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第三章 关系数据库标准语言SQL 3.3 查询.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第三章 链表.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第四章 栈与队列.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第五章 递归.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第六章 树与森林.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第七章 集合与搜索.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第八章 图.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第九章 排序.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第十章 搜索与散列.ppt
- 清华大学:《数据结构》课程教学资源(习题讲义实验)第一章习题解答.doc
- 清华大学:《数据结构》课程教学资源(习题讲义实验)第十章习题解答.doc
- 清华大学:《数据结构》课程教学资源(习题讲义实验)第二章习题解答.doc
- 清华大学:《数据结构》课程教学资源(习题讲义实验)第三章习题解答.doc
- 清华大学:《数据结构》课程教学资源(习题讲义实验)第四章习题解.doc
- 清华大学:《数据结构》课程教学资源(习题讲义实验)第五章习题解答.doc
- 清华大学:《数据结构》课程教学资源(习题讲义实验)第六章习题解答.doc
- 清华大学:《数据结构》课程教学资源(习题讲义实验)第七章 集合与搜索习题解答.doc
- 清华大学:《数据结构》课程教学资源(习题讲义实验)第八章习题解答.doc
- 清华大学:《数据结构》课程教学资源(习题讲义实验)第九章习题解答.doc
- 清华大学:《数据结构》课程教学资源(习题讲义实验)第十章 索引与散列习题解答.doc
- 清华大学:《C++程序设计教程》PDF电子书(共二十一章).pdf