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();
函数简介
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();
相关文章推荐
- C++存储数据结构之三vector
- C++存储数据结构之三vector
- C++存储数据结构List、CArray、Vector和Map使用分析
- C++存储数据结构之四map
- 数据结构:图(十字链表存储 c++实现)
- Android JNI学习入门之使用C++链表结构存储数据
- c/c++常用算法(1) -- 数据结构(线性表的顺序存储)
- 数据结构与算 5:C++ 顺序/链式存储,栈 模板类实现,编译模板类问题解决
- C++存储数据结构之一List
- C++存储数据结构之四map
- 数据结构之循环队列(顺序表存储)——C++模板类实现
- 数据结构之C/C++实现二叉树的链式存储
- C++存储数据结构之map
- C++存储数据结构之四map
- C++存储数据结构之一List
- 算法与数据结构基础8:C++实现有向图——邻接表存储
- 数据结构课程设计-通讯录管理系统c++版(顺序表存储,折半查找,递增排序)
- C++存储数据结构之三vector
- C++存储数据结构之一List
- C++存储数据结构之四map