/*
檔名稱:arrayclass.h
功能:自定義陣列型別標頭檔案
用於動態陣列應用,
char型別指標陣列
by adengou 2011.8.13
*///檔案頭
#ifndef array_class
#define array_class
#include
#include
#ifndef null
const int null =0;
#endif //null
using namespace std;
enum errortype;
char *errormsg=;
//類模板
template
class array
;//類成員函式實現
//模板函式error實現輸出錯誤資訊功能
template
void array::error(errortype error,int badindex=0) const
size=sz;//將元素個數賦值給變數size
alist=new t[size];//動態分配size個t型別空間
if (alist==null)//如果分配記憶體不成功,輸出錯誤資訊
}//析構函式
template
array::~array(void)
//拷貝建構函式
template
array::array(const array&x)
//從物件x複製陣列元素到本物件
t*srcptr=x.alist;//x,alist是物件x的陣列首位址
t*destptr=alist;//alist是本對像中的陣列首位址
while(-1)
}//過載"="運算子,將物件rhs賦值給本物件,實現物件之間的整體賦值
template
array& array::operator=(const array&rhs)
size=n;//記錄本物件的陣列大小
}//從rhs向本物件複製元素
t *destptr=alist;
t *srcptr=rhs.alist;
while(n--)
return *this;
}//過載下標操作符,實現與普通陣列一樣通過下標訪問元素,並且具有越界的可能
template
t & array::operator(int n)
//返回下標為n的陣列元數
return alist[n];
}//過載指標轉換操作符,將array類的物件名轉換為t型別的指標
//指向當前物件中的私有陣列
//因而可以象使用普通陣列首位址一樣使用array的物件名
template
array::operator t *(void) const
//將陣列大小修改為sz
template
void array::resize(int sz)
//如果指定的大小與原有大小一樣,什麼也不做
if(sz==size)
//申請新的陣列記憶體,並測試是否申請成功
t *newlist= new t[sz];
if (newlist==null)
//將sz與size中較小的乙個賦值給n
int n=(sz<=size)?sz:size;
//將原有陣列中前n個元素複製到新陣列中
t *srcptr=alist;//原陣列alist的首位址
t *destptr=newlist;//新陣列newlist的首位址
while(n--)
//刪除原陣列
deletealist;
//使alist 指向新陣列,並更新size
alist =newlist;size=sz;
}/*******************************/
#endif //標頭檔案別忘了這句
/*******************************/
/**********動態陣列類的應用範例************/
/*檔名:primenumber.cpp
運用陣列類求小於或等於n的所有素數
by adengou 2011.8.13
win7 vs 2010編譯通過
*/#include
#include
#include
#include "arrayclass.h"//動態陣列類的標頭檔案
using namespace std;
int main()
//如果輸入的數字大於陣列長度,則陣列長度加長10
if (i%2==0)//被2整的數不是質數
j=3;//賦j初始值為3
/*判斷當前數i是否是質數(能被從2算起到該數的平方根範圍內的數整除不是質數,反之,則是素數*/
while(jsqrt((double)i)) //如果j的值大於該數的平方根,說明該數是素數,將該數存入陣列。
}/*輸出n以內的質數*/
for (i=0;i}cout return 0; }/**************************************/ 1.sizeof hello 6 放入常量區,編譯器不用頻繁讀取記憶體 2.sizeof 型別 只關心型別而不關心內容 int i 0 sizeof 1 i 4 編譯執行正常 3.只有有型別的指標才能通過指標值確定指標指向的內容 4.陣列的引用 int p 10 int a 10 不使用 5.voi... 今天寫python 的時候遇到了乙個大坑 問題是這樣的,我需要建立乙個二維陣列,如下 m n 3test 0 m nprint test test 輸出結果如下 test 0,0,0 0,0,0 0,0,0 是不是看起來沒有一點問題?一開始我也是這麼覺得的,以為是我其他地方用錯了什麼函式,結果這麼一... 基於 xml字尾陣列構造演算法 1 引言 xml extensible markup language 是由w3c開發的乙個標準,xml 1.0是全球接受的規範。xml文件是乙個既包含資料,又包含描述資料結構標記的純文字文件。任何兩個要交換xml資料的應用程式都能進行交換,與平台或程式語言無關。因此...c08 基礎,陣列構造演算法
Python陣列構造的坑
基於XML字尾陣列構造演算法