下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——第4講數(shù)組和廣義表
Chapter4ArrayGeneralList
Section1Array
ADTArray{D={aj1,j2,...,,ji,jn|ji=0,...,bi-1,i=1,2,..,n}(n稱數(shù)組的維數(shù),bi是數(shù)組第i維的長度,ji是數(shù)組元素的第i維下標(biāo))
數(shù)組的抽象數(shù)據(jù)類型定義
基本操作
R={R1,R2,...,Rn}Ri={aj1,...ji,...jn,aj1,...ji+1,...jn|0jkbk-1,1kn且ki,0jibi-2,i=2,...,n}
}ADTArray
二維數(shù)組的定義數(shù)據(jù)對象:D={aij|0≤i≤b1-1,0≤j≤b2-1}
數(shù)據(jù)關(guān)系:R={ROW,COL}
COL={ai,j,ai+1,j|0≤i≤b1-2,0≤j≤b2-1}ROW={ai,j,ai,j+1|0≤i≤b1-1,0≤j≤b2-2}
基本操作InitArray(A,n,bound1,...,boundn)DestroyArray(A)Value(A,x,index1,...,indexn)Assign(A,x,index1,...,indexn)
InitArray(A,n,bound1,...,boundn)操作結(jié)果:若維數(shù)n和各維長度合法,則構(gòu)造相應(yīng)的數(shù)組A,并返回OK。
DestroyArray(A)操作結(jié)果:銷毀數(shù)組A。
Value(A,x,index1,...,indexn)初始條件:A是n維數(shù)組,x為元素變
量,隨后是n個(gè)下標(biāo)值。操作結(jié)果:若各下標(biāo)不超界,則x賦值為所指定的A的元素值,并
返回OK。
Assign(A,x,index1,...,indexn)初始條件:A是n維數(shù)組,x為元素變量,隨后是n個(gè)下標(biāo)值。操作結(jié)果:若下標(biāo)不超界,則將x的值賦給所指定的A的元素,并返回OK。
一維數(shù)組
定義一致類型的數(shù)據(jù)元素的集合。一維數(shù)組的例如012345678935274918605477834102
與順序表的不同在于數(shù)組可以按元素的下標(biāo)直接存儲和訪問數(shù)組元素。
一維數(shù)組(Array)類的定義
templateclassTypeclassArray{Type*elements;//數(shù)組存放空間intArraySize;//當(dāng)前長度voidgetArray();//建立數(shù)組空間public:Array(intSize=DefaultSize);Array(constArrayTypex);
~Array(){delete[]elements;}ArrayTypeoperator=//數(shù)組賦值(constArrayTypeA);Typeoperator[](inti);//取元素值intLength()const{returnArraySize;}//取數(shù)組長度voidReSize(intsz);//擴(kuò)展數(shù)組}
一維數(shù)組公共操作的實(shí)現(xiàn)
templateclassTypevoidArrayType::getArray(){//私有函數(shù):創(chuàng)立數(shù)組存儲空間elements=newType[ArraySize];}
templateclassTypeArrayType::Array(intsz){ArraySize=sz;getArray();}
templateclassTypeArrayType::Array(ArrayTypex){intn=ArraySize=x.ArraySize;elements=newType[n];Type*srcptr=x.elements;Type*destptr=elements;while(n--)*destptr++=*srcptr++;}
templateclassTypeArrayType::Array(ArrayTypex){intSize=x.ArraySize;elements=newType[Size];for(inti=0;iSize;i++)elements[i]=x.elements[i];}
templateclassTypeTypeArrayType::operator[](inti){if(i0||iArraySize-1){cerr“數(shù)組下標(biāo)超界〞endl;returnNULL;}returnelements[i];}
templateclassTypevoidArrayType::Resize(intsz){if(sz=0
sz!=Ar
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食品安全監(jiān)管員職責(zé)及考核制度
- 電路自燃應(yīng)急預(yù)案(3篇)
- 短跑訓(xùn)練應(yīng)急預(yù)案(3篇)
- 社區(qū)地?cái)偦顒硬邉澐桨?3篇)
- 系統(tǒng)應(yīng)急預(yù)案軟件(3篇)
- 肺炎應(yīng)急預(yù)案學(xué)校(3篇)
- 英文展播活動策劃方案(3篇)
- 裝修墻體施工方案(3篇)
- 跨河索道施工方案(3篇)
- 運(yùn)輸應(yīng)急預(yù)案編號(3篇)
- 中國中央企業(yè)高層管理者面試問題
- 康斯迪電爐培訓(xùn)課件
- 港口安全生產(chǎn)管理課件
- 2025年色母料項(xiàng)目發(fā)展計(jì)劃
- 2025年新疆中考物化試卷及答案
- 配電房整改工程施工方案(2025版)
- 建筑室外亮化施工方案
- 遼寧省盤錦市名校2026屆物理九年級第一學(xué)期期末考試模擬試題含解析
- 2026屆河北唐山豐南區(qū)物理八年級第一學(xué)期期末復(fù)習(xí)檢測模擬試題含解析
- 倉庫節(jié)日前安全培訓(xùn)計(jì)劃課件
- 2025通信安全員ABC證考試題庫及答案(1000題)
評論
0/150
提交評論