二維數(shù)組和字符串_第1頁(yè)
二維數(shù)組和字符串_第2頁(yè)
二維數(shù)組和字符串_第3頁(yè)
二維數(shù)組和字符串_第4頁(yè)
二維數(shù)組和字符串_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 二維數(shù)組和字符串二維數(shù)組和字符串 二維數(shù)組 二維表學(xué)號(hào) 語(yǔ)文 數(shù)學(xué) 外語(yǔ)1100110100110100120數(shù)表(數(shù)陣,矩陣)123 456 1.二維數(shù)組的定義: 數(shù)據(jù)類(lèi)型 數(shù)組名常量表達(dá)式常 量表達(dá)式 例: int a34; 定義了一個(gè)3*4(3行4列)的數(shù)組。注意: 不能寫(xiě)成 int a3,4;的形式。 int a3,4;定義的是一維數(shù)組;數(shù)組 的標(biāo)志是,每一個(gè)代表一維00 01 02 03 10 11 12 13 20 21 22 23 C+采用這樣的定義方式,使我們可以把二維數(shù)組看作是一個(gè)特殊的 一維數(shù)組:它的元素又是一個(gè)一維數(shù)組。(即把二維數(shù)組的每行看作 一個(gè)元素) 例: int

2、 a34; 可以把a(bǔ)看成一個(gè)一維數(shù)組,它有3個(gè)元素a0、a1、a2,每個(gè)元素又 是含4個(gè)元素的一維數(shù)組。見(jiàn)下圖。 a0 - a00,a01,a02,a03 a a1 - a10,a11,a12,a13 a2 - a20,a21,a22,a23此時(shí), a0、a1、a2相當(dāng)于3個(gè)一維數(shù)組的名字,上面定義的二維 數(shù)組可以理解為定義了3個(gè)一維數(shù)組,即相當(dāng)于 int a0 4,a1 4, a2 4; C+的這種處理方法很方便,我們?cè)诤竺鏁?huì)體會(huì)到 C+語(yǔ)言中,二維數(shù)組中元素在計(jì)算機(jī)內(nèi) 存中的存放順序是:按行存放,即先在內(nèi) 存中存放第一行的元素,再放第二行的元 素(第一維變化慢,第二維變化快)。 例:int

3、 a34; 二維數(shù)組a在內(nèi)存中的存放 順序?yàn)?a00,a01,a02,a03,10,a11,a1 2,a13,a20,a21,a22,a23 C+允許使用多維數(shù)組 有了二維數(shù)組的基礎(chǔ),再掌握多維數(shù)組是不困難的。例如, 三維實(shí)數(shù)數(shù)組定義為: 數(shù)據(jù)類(lèi)型 數(shù)組名常量表達(dá)式常量表達(dá)式常量表達(dá)式; double a234 定義了三位數(shù)組,共2*3*4=24個(gè)元素。多維數(shù)組在內(nèi)存中 的排列順序類(lèi)似于二維數(shù)組,第一維的下標(biāo)變化最慢,最 右邊的下標(biāo)變化最快。 a000,a001,a002,a003,a010, 2 二維數(shù)組元素的引用 數(shù)組名下標(biāo)下標(biāo) 注意:每維下標(biāo)從0開(kāi)始;下標(biāo)不要超過(guò)各維的大小。 例:int

4、 a34; 第1行第2列的元素是a01 (也可說(shuō)成第1行的第2個(gè)元素是a01) a23是第3行的第4個(gè)元素 a33違法 3 二維數(shù)組的初始化 對(duì)于二維數(shù)組有下列初始化方法: (1)分行給二維數(shù)組賦初值,如: int a34=1,2,3,4,5,6,7,8,9,10,11,12; 這種賦值方法比較直觀(guān),把第一對(duì)括號(hào)內(nèi) 的數(shù)值賦給第一行的元素,第二括號(hào)內(nèi)的 數(shù)值賦給第二行的元素,依此類(lèi)推。 (2)可以將所有數(shù)據(jù)寫(xiě)在一個(gè)花括號(hào)內(nèi),這時(shí),計(jì) 算機(jī)自動(dòng)按數(shù)組元素在內(nèi)存中的排列順序?qū)Ω髟?素賦初值。 例:int a34=1,2,3,4,5,6,7,8,9,10,11,12; (3)可以只對(duì)數(shù)組中部分元素初

5、始化。如: int a34=1,5,9; 此處的作用表示:a00元素被賦成1,a10元素被 賦成5,a20元素被賦成9,而數(shù)組中的其他元素 被初始化為0(與一維數(shù)組的初始化機(jī)制相同) (4)如果對(duì)二維數(shù)組的全部元素初始化,則定義數(shù) 組時(shí)第一維長(zhǎng)度可以省略,但第二維長(zhǎng)度不能省, 如:分行進(jìn)行初始化,如: int a4=0,0,3,0,10; char c10= C,p,r,o,g,r,a,m,0; 4 二維數(shù)組的賦值、輸入、輸出使用二重循環(huán),對(duì)每個(gè)元素賦值、輸入和輸出: for(int i=0;iaij; aij*=ai j; cout0)& !flagaij) flagaij=1; else

6、return 0; return 1; 1. 用一維數(shù)組名作函數(shù)參數(shù)可以用數(shù)組名做函數(shù)參數(shù),此時(shí)形參與實(shí) 參都是數(shù)組名(也可用指針)。例:用選擇法對(duì)數(shù)組中的元素排序 數(shù)組名作為函數(shù)參數(shù),實(shí)參是數(shù)組名,形參也應(yīng)為數(shù)組名 (或指針)。實(shí)參數(shù)組與形參數(shù)組類(lèi)型應(yīng)該一致,如不一 致,將出錯(cuò)。 數(shù)組名代表的是數(shù)組首元素的地址(數(shù)組起始地址)。因 此用數(shù)組名作函數(shù)實(shí)參時(shí),不是把實(shí)參數(shù)組元素的值傳遞 給形參,而只是將實(shí)參數(shù)組的首地址傳遞給形參,這樣, 實(shí)參數(shù)組和形參數(shù)組就共占同一段內(nèi)存單元。這樣,(1) 聲明形參數(shù)組并不意味著真正建立一個(gè)包含若干元素的數(shù) 組,在調(diào)用函數(shù)時(shí)也不對(duì)它分配存儲(chǔ)單元,只是用這樣 的形

7、式表示形參是數(shù)組,中的數(shù)值無(wú)實(shí)際作用。形參一 維數(shù)組的聲明中可以寫(xiě)元素個(gè)數(shù),也可以不寫(xiě),編譯系統(tǒng) 對(duì)的數(shù)值不予處理。(2)需要傳遞數(shù)組的元素個(gè)數(shù)。 下面得函數(shù)首部都是等價(jià)的 void select(int arr,int n) void select(int arr5,int n) void select(int arr10,int n) 2. 用多維數(shù)組名作函數(shù)參數(shù) 如果用二維數(shù)組名作為實(shí)參和形參,在對(duì)形參數(shù)組聲明是, 必須制定第二維的大小,且應(yīng)該與實(shí)參的第二維的大小相 同。第一維的大小可以指定,也可以不指定。 如:形參數(shù)組int a310 與 int a10,二者都合法且等價(jià); int a

8、與int a3兩者都不合法。在第二維大小相同的前提下,形參和實(shí)參的第一維可以不同。如實(shí)參數(shù)組定義為 int score510;則形參可以聲明為int score310;int score10; 這時(shí)形參二維數(shù)組與實(shí)參二維數(shù)組都是相同類(lèi)型和大小 的一維數(shù)組組成的,實(shí)參數(shù)組名score代表其首元素 score0的起始地址。如果是三維或更多維的數(shù)組,處理方法也是類(lèi)似的。 例:有一個(gè)3*4的矩陣,求矩陣中所有元素的最大值。要 求用函數(shù)求最大值。 int max(int arr4,int n) int m; m=a00; for(int i=0;i using namespace std; int a10001; void SelectSort(in

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論