函式簡介
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 );
增加乙個元素.
將另乙個陣列追加過來.
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
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();
資料結構之二(hash)
hash表 hash表作為一種動態集合資料結構,一般只支援 插入 查詢 刪除操作 而且每個操作的時間複雜度一般控制在o 1 內。hash表是普通陣列的一種推廣。因為陣列可以在直接通過下標來定位要查詢的元素,時間為o 1 因此hash表目標也是使用一些技術,以達到可以在o 1 的時間內完成操作。嚴格來...
資料結構 資料結構之二分查詢
先上 二分查詢,陣列必須為有序的 int binarysearch int key,int a,int length return 1 該函式接受乙個整數鍵和乙個已經有序的int陣列及陣列的大小作為引數。如果該鍵存在於陣列中則返回它的索引,否則返回 1.演算法使用兩個變數lo和hi,並保證如果鍵在陣...
資料結構之二叉樹 C 二
目錄 table of contents 類的部分實現 二叉樹是一種特殊的樹,在上一節中也介紹了樹的其他形式,例如 霍夫曼樹,b樹等。其中,二叉樹的常用操作有 1.確定樹高 2.確定元素數目 3.複製 4.顯示或列印二叉樹 5.確定兩顆二叉樹是否一樣 6.刪除整顆樹 這些操作都可以通過有步驟的遍歷二...