您的位置:首页 > 理论基础 > 数据结构算法

C++存储数据结构之二CArray

2013-04-15 23:52 316 查看
分类: VC++

函数简介

CArray::GetSize

int GetSize( ) const;

取得当前数组元素个数.

CArray::GetUpperBound

int GetUpperBound( ) const;

最得最大的元素的索引,由于C的数组是从0开始,所以此函数的返回值比GetSize的返回值比小.

CArray::SetSize

void SetSize( int nNewSize, int nGrowBy = -1 );

throw( CMemoryException );

设置数组的大小.

CArray::FreeExtra

void FreeExtra( );

释放未使用的空间.

CArray::RemoveAll

void RemoveAll( );

删除所有的元素.

CArray::GetAt

TYPE GetAt( int nIndex ) const;

根据索引(参数)取得某个数组元素的值.

CArray::SetAt

void SetAt( int nIndex, ARG_TYPE newElement );

将第nIndex的元素的值设置成newElement.

CArray::ElementAt

TYPE& ElementAt( int nIndex );

取得第nIndex个元素的引用.

CArray::GetData

const TYPE* GetData( ) const;

TYPE* GetData( );

取得静态数组指针.

void SetAtGrow( int nIndex, ARG_TYPE newElement );

throw( CMemoryException );

将第nIndex个元素设置成newElement,如果数组元素不够,会增加空间.

CArray::Add

int Add( ARG_TYPE newElement );

throw( CMemoryException );

增加一个元素.

CArray::Append

int Append( const CArray& src );

将另一个数组追加过来.

void Copy( const CArray& src );

复制数组,已经内容将会被覆盖.

CArray::InsertAt

void InsertAt( int nIndex, ARG_TYPE newElement, int nCount = 1 );

throw( CMemoryException );

void InsertAt( int nStartIndex, CArray* pNewArray );

throw( CMemoryException );

插入一个元素(或另一个数组)到数组.

CArray::RemoveAt

void RemoveAt( int nIndex, int nCount = 1 );

删除另一个元素.

CArray::operator [ ]

TYPE& operator []( int nIndex );

TYPE operator []( int nIndex ) const;

通过索引设置或取得另一个元素.

使用实例

#include "afxtempl.h"

//...

CArray <int,int&>arDatas;//定义一个整数数组

arDatas.SetSize(5);//设置大小为五个元素

int iSize = arDatas.GetSize();//大小为5

int iUpperBound = arDatas.GetUpperBound();//最大索引为4

//下面演示三种方法设置取得值

//将索引为1的元素的值设置成3,并取得它

arDatas.SetAt(1,3);

int iData = arDatas.GetAt(1);

//将索引为2的元素的值设置成5,并取得它

arDatas[2] = 5;

iData = arDatas[2] ;

//将索引为3的元素的值设置成7,并取得它

int& iEle = arDatas[3] ;

iEle = 7 ;

iData = arDatas[3] ;

//增加一个元素8

arDatas.Add(8);

iData = arDatas[5];

//在索引1的元素处插入一个无素1

arDatas.InsertAt(1,1);

iData = arDatas[1];

//删除索引为0的元素

arDatas.RemoveAt(0);

//取得int*指针,出于速度考虑

int* pData = arDatas.GetData();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: