《C語言程序設計》課件第11講-二維數(shù)組_第1頁
《C語言程序設計》課件第11講-二維數(shù)組_第2頁
《C語言程序設計》課件第11講-二維數(shù)組_第3頁
《C語言程序設計》課件第11講-二維數(shù)組_第4頁
《C語言程序設計》課件第11講-二維數(shù)組_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

問題引出1.在實際應用中,經常使用一維數(shù)組類存儲相關的一組信息如:一個班級全體同學的單科考試成績

一個班級全體同學的電話號碼2.在實際應用中,經常需要查找某個信息是否存在3.在實際應用中,經常需要對信息進行排序處理本次課將介紹兩種常用的查找和排序的方法若要存儲一個班級兩科以上的開始成績該怎么辦?這就是本次課要研究的一個問題:二維數(shù)組《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第1頁。主要內容5.3順序查找目的要求復習思考題5.4冒泡排序5.5.2訪問數(shù)組元素5.5.3用數(shù)組存數(shù)據(jù)5.5二維數(shù)組5.5.1定義數(shù)組《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第2頁。5.3順序查找(1)查找是在給定的數(shù)組中查找目標數(shù)據(jù)首次出現(xiàn)的位置1.順序查找(2)順序查找

從左向右把數(shù)組中的每個元素與目標進行比較,直到滿足結束條件為止《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第3頁。①查找成功人為控制結束《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第4頁。②查找不成功自然結束《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第5頁。2.程序實例《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第6頁。5.4冒泡排序(1)把等待排序的表用隔離墻分成有序和無序的兩個子表1.基本思想(2)開始時有序表含0個元素,無序表含n個元素(3)從遠離有序表的一端開始,對無序表中的數(shù)據(jù)進行兩兩比較,滿足條件就交換《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第7頁。(3)使小的元素向有序表的方向移動,等所有元素比較完畢,最小的元素就移到了無序表靠隔離墻的那端(4)隔離墻向無序表方向移動一個位置,這樣就完成了一趟冒泡排序過程(5)給定含n個元素的一個序列,需要進行n-1趟冒泡排序的過程《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第8頁。2.過程演示237883256初始狀態(tài)237883256第一趟排序過程788823783256第二趟排序過程8237832823327856第三趟排序過程7856823325678第四趟排序過程《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第9頁。3.程序實例《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第10頁。5.5二維數(shù)組包含了行和列的數(shù)組1.二維數(shù)組《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第11頁。2.注意事項(1)行標和列標都從0開始,元素的個數(shù)是:行數(shù)×列數(shù)

(2)數(shù)組元素按先行后列,下標遞增的順序連續(xù)存放inta[2][3];a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]第1行第2行《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第12頁。(3)可以等效為含行數(shù)個元素的一維數(shù)組a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]等效a[0]a[1]a[0][0]a[0][1]a[0][2]a[1][0]a[1][1]a[1][2]《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第13頁。5.5.1二維數(shù)組的定義數(shù)據(jù)類型標識符數(shù)組名[行數(shù)][列數(shù)];舉例inttable[5][4];/*定義了含20個元素的整型二維數(shù)組table*/charname[3][15];/*定義了含45個元素的字符型二維數(shù)組name*/《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第14頁。5.5.2訪問數(shù)組元素1.格式數(shù)組名[行標][列標]舉例若有定義:inttable[5][4];則:a[0][0]

/*訪問第一行第一個元素*/a[2][2]

/*訪問第三行第三個元素*/a[4][3]

/*訪問最后一個元素*/《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第15頁。2.注意事項(1)下標可以是任意的整型表達式舉例若有定義語句:inttable[5][4];inti=1;intj=2;則下列都是正確的訪問:a[0][0]

/*下標0是整型常量*/a[i][j]

/*下標i,j是整型變量*/a[2*i+j][0]

/*下標2*i+j是算式*/《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第16頁。(2)數(shù)組元素本身是變量,也有值和地址之分舉例若有定義語句:inta[3][2];

inti=1,j=1;

則下面的式子:a[i][j]

/*第2行第2列元素的值*/&a[i][j]

/*第2行第2列元素的地址*/(3)數(shù)組名是地址常量,a與&a[0][0]的含義是一樣的《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第17頁。5.5.3用數(shù)組存數(shù)據(jù)1.數(shù)組的初始化數(shù)據(jù)類型標識符數(shù)組名[行數(shù)][列數(shù)]={值列表};舉例若有定義語句:inta[2][3]={1,2,3,4,5,6};

則:a[0][0]=1,a[0][1]=2,a[0][2]=3a[1][0]=4,a[1][1]=5,a[1][2]=6《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第18頁。(1)值列表是用逗號隔開的多個值(2)行數(shù)可以省略,列數(shù)不可省若值個數(shù)多于元素個數(shù)就會發(fā)生編譯錯誤若值的個數(shù)少于元素個數(shù),多余的元素賦0值注意事項:舉例inta[2][3]={{1,2,3},{4,5,6}};inta[][3]={{1,2,3},{4,5,6}};/*省略了行數(shù)*/inta[2][3]={{1,2},{4,5}};/*值的個數(shù)少*/如:inta[][3]={1,2,3,4,5,6};(3)可以按行賦值格式為二維數(shù)組初始化類型標識符數(shù)組名[行數(shù)][列數(shù)]={{值列表},{值列表},…};《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第19頁。2.輸入數(shù)據(jù)(1)使用雙重循環(huán)為數(shù)組中的元素輸入數(shù)據(jù)舉例若有定義語句:inta[2][3];

inti,j;則輸入數(shù)據(jù)的語句是:for(i=0;i<2;i++)for(j=0;j<3;j++)scanf(“%d”,&a[i][j]);(2)一般使用for循環(huán)《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第20頁。3.輸出數(shù)據(jù)輸出數(shù)據(jù)也使用雙重for循環(huán)

舉例若有定義語句:inta[2][3];

inti,j;…則輸出數(shù)據(jù)的語句是:for(i=0;i<2;i++){for(j=0;j<3;j++)printf(“%8d”,a[i][j]);printf(“\n”);}《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第21頁。目的要求1.理解查找和排序的概念2.掌握順序查找和冒泡排序的原理和實現(xiàn)方法4.掌握二維數(shù)組初始化的方法和注意事項5.掌握二維數(shù)組元素的引用方法6.掌握數(shù)二維組數(shù)據(jù)的輸入和輸出方法3.掌握二維數(shù)組定義的方法《C語言程序設計》課件第11講-二維數(shù)組全文共23頁,當前為第22頁。復習思考題說明:題目前面的*代表問題的重要程度**5.

溫馨提示

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

評論

0/150

提交評論