版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第4章
數(shù)
組
本章要點:
數(shù)組的概念
一維數(shù)組的定義、分配與初始化
二維數(shù)組的定義、分配與初始化
foreach語句的使用方法
與數(shù)組有關(guān)的算法例4.1循序漸進學理論
4.1.1數(shù)組的概念
可以把數(shù)組看成是很多個變量的集合,這些變量具有相同的類型,它們在內(nèi)存中是連續(xù)存放的,這些變量均具有相同的名稱,并且可以通過下標相互區(qū)分,每一個這樣的變量我們把它稱為數(shù)組元素。如假設(shè)存放300個學生數(shù)學成績的數(shù)組名為cj,要求出所有學生的數(shù)學的平均分,可使用下列語句:aver=0.0;for(i=0;i<300;i++)aver=aver+cj[i];aver=aver/300;
4.1.2一維數(shù)組的定義、分配與使用
所謂一維數(shù)組是指只有一個下標的數(shù)組。數(shù)組在使用之前必須先定義(或稱聲明)和分配空間,然后才能使用數(shù)組元素。
1.一維數(shù)組的定義與分配[格式]:數(shù)據(jù)類型符
[]數(shù)組名
=new數(shù)據(jù)類型符[長度];例如,有下列語句:int[]a=newint[10];//定義了一個數(shù)組a,該數(shù)組的數(shù)據(jù)類型是int,具有10個元素。其實數(shù)組的聲明與分配可以寫成兩條語句,上述語句也可以寫成:int[]a;//定義數(shù)組a=newint[10];//給數(shù)組分配存儲空間
與C/C++不同的是,C#中的數(shù)組的大小可以動態(tài)確定,如有以下語句:
intAL=6;
inta[]=newint[AL];
這兩條語句定義了一個長度為6的數(shù)組a。
2.定義數(shù)組時對數(shù)組元素進行初始化
[格式]:數(shù)據(jù)類型符
[]數(shù)組名
={初值列表};
例如,有下列語句:int[]x={1,2,3,4};該語句定義了具有4個元素的數(shù)組x,并依次給x[0]、x[1]、x[2]和x[3]賦初值1、2、3和4。上述語句也可以寫成:int[]x=newint[]{1,2,3,4};3.數(shù)組元素的引用引用一維數(shù)組元素的一般形式如下:數(shù)組名[下標]例如,有定義語句:int[]a=newint[5];那么a數(shù)組具有元素a[0]、a[1]、a[2]、a[3]和a[4]?!纠?-1】
找最大數(shù)游戲:有一批數(shù),請你快速地找出最大數(shù)及其位置。
【例4-2】
隨機產(chǎn)生十個兩位數(shù),然后利用選擇法把它們從小到大排序。4.1.3多維數(shù)組的定義、分配與使用
一維數(shù)組只有一個下標,多維數(shù)組具有多個下標,要引用多維數(shù)組的數(shù)組元素,需要使用多個下標。多維數(shù)組中最常用的是二維數(shù)組。所謂二維數(shù)組,就是有兩個下標的數(shù)組,適合處理如成績報告表、矩陣等具有行列結(jié)構(gòu)的數(shù)據(jù)。與C/C++不同的是,C#的二維數(shù)組的每一行的數(shù)組元素個數(shù)可以相等,也可以不相等。每行數(shù)組元素個數(shù)相等的二維數(shù)組稱為方形二維數(shù)組,各行數(shù)組元素個數(shù)不同的稱參差數(shù)組。
1.方形二維數(shù)組
(1)定義與分配[格式]:數(shù)據(jù)類型符
[,]數(shù)組名
=new數(shù)據(jù)類型符[長度1,長度2];例如,有下列語句:int[,]a=newint[3,4];//定義了一個數(shù)組a,該數(shù)組的數(shù)據(jù)類型是int,具有12個元素。其實上述數(shù)組的聲明與分配可以寫成兩條語句,上述語句也可以寫成:int[,]a;//定義數(shù)組a=newint[3,4];//給數(shù)組分配存儲空間二維數(shù)組的邏輯結(jié)構(gòu)(2)賦初值
[格式]:數(shù)據(jù)類型符
[,]數(shù)組名
={{初值列表1},{初值列表2},…,{初值列表n}};
例如,有下列語句:int[,]b={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
上述語句也可以寫成:int[,]a=newint[3,4]{{1,2,3,4},{5,6,7,8},{9,10,11,12}};
(3)元素引用引用方形二維數(shù)組元素的一般格式如下:數(shù)組名[下標1,下標2]2.參差數(shù)組
與C/C++不同的是,在C#中,二維數(shù)組的每一行的長度可以是不同的,每一行的元素個數(shù)均可以由用戶指定。(1)分配行[格式]:數(shù)據(jù)類型符[][]數(shù)組名=new數(shù)據(jù)類型符[行數(shù)][];例如,有下列語句:
int[][]b=newint[3][];該語句定義了一個名為b的參差數(shù)組,數(shù)組的行數(shù)為3。(2)名行數(shù)組元素個數(shù)的分配
[格式]:數(shù)組名[i]=new數(shù)據(jù)類型符[長度];例如,有以下語句:int[][]b=newint[3][];//定義具有3行的參差數(shù)組bb[0]=newint[2];//首行具有2個元素b[1]=newint[3]; //第二行具有3個元素b[2]=newint[4];//第三行具有4個元素(3)元素引用數(shù)組名[下標1][下標2]【例4-3】
某班有M名同學,本學期開了N門課,期末考試后,要統(tǒng)計每個學生的平均分。請你編寫一個程序?qū)崿F(xiàn)該功能。要求:對于每個學生要輸入學號和N門課的成績?!纠?-4】編程輸出楊輝三角的前五行。楊輝三角的前五行值如下所示。11 11 2 11 3 3 11 4 6 4 14.1.4foreach
foreach語句是專用于對數(shù)組、集合等數(shù)據(jù)結(jié)構(gòu)中的每一個元素進行循環(huán)操作的語句,通過它可以列舉數(shù)組、集合中的每一個元素,并且通過執(zhí)行循環(huán)體對每一個元素進行需要的操作。
[格式]:foreach(數(shù)據(jù)類型符
變量名
in數(shù)組或集合)
循環(huán)體;
【例4-5】
使用foreach語句求二維數(shù)組的最小值。4.2典型實例練能力
4.2.1典型實例一:冒泡法排序
【實例題目】用冒泡法把隨機產(chǎn)生的10個整數(shù)從小到大排列。
4.2.1典型實例二:求二維數(shù)組各行的最大值及其下標
【實例題目】
某次集會時,學生排成了M行N列的方陣。請你編程把每個人的身高錄入到計算機中,然后找出每行的最高身高和該同學在該行中的位置。4.3上機練習重應(yīng)用
4.3.1上機練習一:二分法查找
【練習題目】
定義一個具有十個元素的一維數(shù)組,給它賦一個有序整數(shù)序列,然后利用折半查找算法查找一個輸入的數(shù)m在數(shù)組中的位置。若找到,輸出其下標,若找不到,則顯示沒有找到
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年白糖供應(yīng)與采購合同
- 2025年度航空航天導航系統(tǒng)研發(fā)合同3篇
- 《2024版協(xié)議離婚申請書范本:專業(yè)指導與法律問題解答》3篇
- 2025年度體育場館場地設(shè)施設(shè)備租賃及管理服務(wù)合同3篇
- 2025版大理石地磚石材回收與資源循環(huán)利用合同3篇
- 2025年新能源鏟車租賃及維護服務(wù)合同3篇
- 2024年瓶裝水銷售合同范本
- 2025年寵物寄養(yǎng)服務(wù)與寵物醫(yī)療支持合同3篇
- 【培訓課件】JIT精益生產(chǎn)實務(wù)
- 2024年鋁墻面板安裝分包合作協(xié)議
- 2025年中國誠通控股集團限公司校園招聘高頻重點提升(共500題)附帶答案詳解
- 《Unit 5 What do we eat 》(說課稿)-2024-2025學年滬教版(2024)英語三年級上冊
- (新版)廣電全媒體運營師資格認證考試復習題庫(含答案)
- ISO27001信息安全管理體系培訓資料
- 紅色經(jīng)典影片與近現(xiàn)代中國發(fā)展學習通超星期末考試答案章節(jié)答案2024年
- 基金應(yīng)知應(yīng)會專項考試題庫(證券類190題)附有答案
- 簡單娛樂yy頻道設(shè)計模板
- 健康體檢的八大意義
- 銷售顧問初級認證筆試題
- 市場化人才選聘管理辦法
- 急性早幼粒細胞白血病及分化綜合征
評論
0/150
提交評論