1 / 55
文档名称:

数据结构与算法.ppt

格式:ppt   页数:55
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构与算法.ppt

上传人:drp539603 2015/11/20 文件大小:0 KB

下载得到文件列表

数据结构与算法.ppt

文档介绍

文档介绍:数据结构与算法作为抽象数据类型的数组作为抽象数据类型的数组一维数组一维数组一维数组的示例一维数组的示例一维数组的特点一维数组的特点连续存储的线性聚集(别名连续存储的线性聚集(别名向量向量)) 除第一个元素外,其他每一个元除第一个元素外,其他每一个元素有一个且仅有一个直接前驱。素有一个且仅有一个直接前驱。除最后一个元素外,其他每一个除最后一个元素外,其他每一个元素有一个且仅有一个直接后继。元素有一个且仅有一个直接后继。数组的定义和初始化数组的定义和初始化#include <>class szcl {int e;public:szcl ( ) { e = 0; }szcl ( int value ) { e = value; }int get_value ( ) { return e; }}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;}一维数组一维数组((ArrayArray))类的定义类的定义#include <>#include <>template <class Type>class Array {Type *elements; //数组存放空间int ArraySize; //当前长度void getArray ( ); //建立数组空间public:Array(int Size=DefaultSize );Array(const Array<Type>& x );~Array( ) { delete [ ]elements;}Array<Type> & operator =( const Array<Type> & A );Type& operato [ ] ( int i );Array<Type> operator Type * ( ) const{ return elements; }int Length ( ) const{ return ArraySize; }void ReSize ( int sz );}template <class Type>void Array<Type>::getArray ( ) {//私有函数:创建数组存储空间elements = new Type[ArraySize];if ( elements == 0 )cerr << "Memory Allocation Error"<<endl;}一维数组公共操作的实现一维数组公共操作的实现template <class Type>void Array<Type>::Array ( int sz ) {//构造函数if ( sz <= 0 ) {cerr << "Invalid Array Size" << endl;return;}ArraySize = sz;getArray ( );}template <class Type> Array<Type>::Array ( const Array<Type> & x ) {//复制构造函数int n = ArraySize = ;elements = new Type[n];if ( elements == 0 )cerr << "Memory Allocation Error"<< endl;Type *srcptr = ;Type *destptr = elements;while ( n-- ) * destptr++ = * srcptr++;}