清华大学:《C++数据结构》第二章 数组

第二章数组 维数组 项式 稀疏短 字符电
◼ 一维数组 ◼ 多维数组 ◼ 线性表 ◼ 顺序表 ◼ 多项式 ◼ 稀疏矩阵 ◼ 字符串

维数组 n定义 相同类型的数据元素的集合。 维数组的示例 0123456789 35274918605477834102 n与顺序表的不同在于数组可以按元 素的下标直接存储和访问数组元素
一维数组 ◼ 定义 相同类型的数据元素的集合。 ◼ 一维数组的示例 ◼ 与顺序表的不同在于数组可以按元 素的下标直接存储和访问数组元素。 35 27 49 18 60 54 77 83 41 02 0 1 2 3 4 5 6 7 8 9

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

main(i szcl al3=(3, 5,7),elem; for( int 1=0; 1 get value()<n;∥动态 elem++ return U;
main ( ) { szcl a1[3] = { 3, 5, 7 }, *elem; for ( int i = 0; i get_value( ) << “\n”; //动态 elem++; } return 0; }

一维数组(Aray)类的定义 include #include template class array i Type elements;数组存放空间 int ArraySize ∥/当前长度 void getArray();∥建立数组空 publi 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 );

array)i delete l elements; l Aray& operator=∥数组复制 const Array &a); ype& operator](inti);∥取元素值 int Length( const return ArraySize; ∥取数组长度 void Resize( int sz ) ∥/扩广充数组
~Array( ) { delete [ ]elements;} Array & operator = //数组复制 ( const Array & A ); Type& operator [ ] ( int i ); //取元素值 int Length ( ) const { return ArraySize; } //取数组长度 void ReSize ( int sz ); //扩充数组 }

维数组公共操作的实现 template void Array:: getArray (i 有函数:创建数组存储空间 elements new Type [ArraySize]; if elements== NULL arraySize =0; cerr<<存储分配错!"<<endl return
template void Array :: getArray ( ) { //私有函数:创建数组存储空间 elements = new Type[ArraySize]; if ( elements == NULL ) { arraySize = 0; cerr << “存储分配错!" << endl; return; } } 一维数组公共操作的实现

template Array:: Array( int sz )( /构造函数 if(sz<=0){ arraySize =0 cerr<<“非法数组大小”<<endl; return Arraysize sz getArray
template Array :: Array ( int sz ) { //构造函数 if ( sz <= 0 ) { arraySize = 0; cerr << “非法数组大小” << endl; return; } ArraySize = sz; getArray ( ); }

template Array. Aray(Aray&x){∥复制构造函数 int n= ArraySize =x Arraysize elements=new Typen; if elements== NULL)& arraysIze 0 cerr<<“存储分配错"<<endl; return ype srcptr=xelements; Type *destptr=elements; while(n)*destptr++=* srcptr++
template Array :: Array ( Array & x ) { //复制构造函数 int n = ArraySize = x.ArraySize; elements = new Type[n]; if ( elements == NULL ) { arraySize = 0; cerr << “存储分配错”<< endl; return; } Type *srcptr = x.elements; Type *destptr = elements; while ( n-- ) * destptr++ = * srcptr++; }

template Type& Array . operator[( int ii ∥/按数组名及下标i。取数组元素的值 if (i ArraySize-1t cerr<<“数组下标超界”<<endl return NULL return elements 1: 使用该函数于赋值语句 Pos=Position i-1]+ Number[i-1
template Type& Array :: operator [ ] ( int i ) { //按数组名及下标 i,取数组元素的值 if ( i ArraySize-1 ) { cerr << “数组下标超界”<< endl; return NULL; } return elements[i]; } 使用该函数于赋值语句 Pos = Position[i -1] + Number[i -1]
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《C++数据结构》第一章 绪论.ppt
- 《Visual C++ 6.0实例教程》教学资源(PPT课件讲稿)AfxPrint.rtf
- 《Visual C++ 6.0实例教程》教学资源(PPT课件讲稿)AfxCore.rtf
- 《Visual C++ 6.0实例教程》教学资源(PPT课件讲稿)第9章 多线程.ppt
- 《Visual C++ 6.0实例教程》教学资源(PPT课件讲稿)第8章 异常处理和诊断.ppt
- 《Visual C++ 6.0实例教程》教学资源(PPT课件讲稿)第7章 MFC通用类.ppt
- 《Visual C++ 6.0实例教程》教学资源(PPT课件讲稿)第6章 文件操作.ppt
- 《Visual C++ 6.0实例教程》教学资源(PPT课件讲稿)第5章 图形操作.ppt
- 《Visual C++ 6.0实例教程》教学资源(PPT课件讲稿)第4章 菜单、快捷键和控制条.ppt
- 《Visual C++ 6.0实例教程》教学资源(PPT课件讲稿)第3章 对话框与控件.ppt
- 《Visual C++ 6.0实例教程》教学资源(PPT课件讲稿)第2章 文档和视.ppt
- 《Visual C++ 6.0实例教程》教学资源(PPT课件讲稿)目录.ppt
- 《工程CAD2004》AUTOCAD2004教程PPT电子课件.ppt
- 《计算机二级公共基础知识》课程教学资源(教材电子书,WORD版,含习题与答案).doc
- 《AutoCAD中文版辅助教程》第9课 创建与编辑文本内容.ppt
- 《AutoCAD中文版辅助教程》第8课 图案填充与查询.ppt
- 《AutoCAD中文版辅助教程》第7课 图块、属性和外部参照.ppt
- 《AutoCAD中文版辅助教程》第6课 图层管理.ppt
- 《AutoCAD中文版辅助教程》第5课 平面图形的高级编辑.ppt
- 《AutoCAD中文版辅助教程》第4课 平面图形的基本编辑.ppt
- 清华大学:《C++数据结构》第三章 链表.ppt
- 清华大学:《C++数据结构》第四章 栈和队列.ppt
- 清华大学:《C++数据结构》第五章 递归与广义表.ppt
- 清华大学:《C++数据结构》第六章 树与森林.ppt
- 清华大学:《C++数据结构》第七章 集合与搜索.ppt
- 清华大学:《C++数据结构》第八章 图.ppt
- 清华大学:《C++数据结构》第九章 排序.ppt
- 清华大学:《C++数据结构》第十章 索引与散列.ppt
- 《Visual Basic语言程序设计》第10章 菜单程序设计.ppt
- 《Visual Basic语言程序设计》第11章 文 件.ppt
- 《Visual Basic语言程序设计》第12章 界面设计.ppt
- 《Visual Basic语言程序设计》第13章 Visual Basic与数据库.ppt
- 《Visual Basic语言程序设计》第14章 对象的链接与嵌入.ppt
- 《Visual Basic语言程序设计》第15章 多媒体.ppt
- 《Visual Basic语言程序设计》第16章 常用ActiveX控件.ppt
- 《Visual Basic语言程序设计》第1章 Visual Basic概述.ppt
- 《Visual Basic语言程序设计》第2章 VB基本概念与操作.ppt
- 《Visual Basic语言程序设计》第3章 VB程序设计的基础(一).ppt
- 《Visual Basic语言程序设计》第3章 VB程序设计的基础(二).ppt
- 《Visual Basic语言程序设计》第4章 数据的输出与输入.ppt