




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第4章
數(shù)
組
本章要點(diǎn):
數(shù)組的概念
一維數(shù)組的定義、分配與初始化
二維數(shù)組的定義、分配與初始化
foreach語句的使用方法
與數(shù)組有關(guān)的算法例4.1循序漸進(jìn)學(xué)理論
4.1.1數(shù)組的概念
可以把數(shù)組看成是很多個(gè)變量的集合,這些變量具有相同的類型,它們?cè)趦?nèi)存中是連續(xù)存放的,這些變量均具有相同的名稱,并且可以通過下標(biāo)相互區(qū)分,每一個(gè)這樣的變量我們把它稱為數(shù)組元素。如假設(shè)存放300個(gè)學(xué)生數(shù)學(xué)成績的數(shù)組名為cj,要求出所有學(xué)生的數(shù)學(xué)的平均分,可使用下列語句:aver=0.0;for(i=0;i<300;i++)aver=aver+cj[i];aver=aver/300;
4.1.2一維數(shù)組的定義、分配與使用
所謂一維數(shù)組是指只有一個(gè)下標(biāo)的數(shù)組。數(shù)組在使用之前必須先定義(或稱聲明)和分配空間,然后才能使用數(shù)組元素。
1.一維數(shù)組的定義與分配[格式]:數(shù)據(jù)類型符
[]數(shù)組名
=new數(shù)據(jù)類型符[長度];例如,有下列語句:int[]a=newint[10];//定義了一個(gè)數(shù)組a,該數(shù)組的數(shù)據(jù)類型是int,具有10個(gè)元素。其實(shí)數(shù)組的聲明與分配可以寫成兩條語句,上述語句也可以寫成:int[]a;//定義數(shù)組a=newint[10];//給數(shù)組分配存儲(chǔ)空間
與C/C++不同的是,C#中的數(shù)組的大小可以動(dòng)態(tài)確定,如有以下語句:
intAL=6;
inta[]=newint[AL];
這兩條語句定義了一個(gè)長度為6的數(shù)組a。
2.定義數(shù)組時(shí)對(duì)數(shù)組元素進(jìn)行初始化
[格式]:數(shù)據(jù)類型符
[]數(shù)組名
={初值列表};
例如,有下列語句:int[]x={1,2,3,4};該語句定義了具有4個(gè)元素的數(shù)組x,并依次給x[0]、x[1]、x[2]和x[3]賦初值1、2、3和4。上述語句也可以寫成:int[]x=newint[]{1,2,3,4};3.?dāng)?shù)組元素的引用引用一維數(shù)組元素的一般形式如下:數(shù)組名[下標(biāo)]例如,有定義語句:int[]a=newint[5];那么a數(shù)組具有元素a[0]、a[1]、a[2]、a[3]和a[4]?!纠?-1】
找最大數(shù)游戲:有一批數(shù),請(qǐng)你快速地找出最大數(shù)及其位置。
【例4-2】
隨機(jī)產(chǎn)生十個(gè)兩位數(shù),然后利用選擇法把它們從小到大排序。4.1.3多維數(shù)組的定義、分配與使用
一維數(shù)組只有一個(gè)下標(biāo),多維數(shù)組具有多個(gè)下標(biāo),要引用多維數(shù)組的數(shù)組元素,需要使用多個(gè)下標(biāo)。多維數(shù)組中最常用的是二維數(shù)組。所謂二維數(shù)組,就是有兩個(gè)下標(biāo)的數(shù)組,適合處理如成績報(bào)告表、矩陣等具有行列結(jié)構(gòu)的數(shù)據(jù)。與C/C++不同的是,C#的二維數(shù)組的每一行的數(shù)組元素個(gè)數(shù)可以相等,也可以不相等。每行數(shù)組元素個(gè)數(shù)相等的二維數(shù)組稱為方形二維數(shù)組,各行數(shù)組元素個(gè)數(shù)不同的稱參差數(shù)組。
1.方形二維數(shù)組
(1)定義與分配[格式]:數(shù)據(jù)類型符
[,]數(shù)組名
=new數(shù)據(jù)類型符[長度1,長度2];例如,有下列語句:int[,]a=newint[3,4];//定義了一個(gè)數(shù)組a,該數(shù)組的數(shù)據(jù)類型是int,具有12個(gè)元素。其實(shí)上述數(shù)組的聲明與分配可以寫成兩條語句,上述語句也可以寫成:int[,]a;//定義數(shù)組a=newint[3,4];//給數(shù)組分配存儲(chǔ)空間二維數(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ù)組名[下標(biāo)1,下標(biāo)2]2.參差數(shù)組
與C/C++不同的是,在C#中,二維數(shù)組的每一行的長度可以是不同的,每一行的元素個(gè)數(shù)均可以由用戶指定。(1)分配行[格式]:數(shù)據(jù)類型符[][]數(shù)組名=new數(shù)據(jù)類型符[行數(shù)][];例如,有下列語句:
int[][]b=newint[3][];該語句定義了一個(gè)名為b的參差數(shù)組,數(shù)組的行數(shù)為3。(2)名行數(shù)組元素個(gè)數(shù)的分配
[格式]:數(shù)組名[i]=new數(shù)據(jù)類型符[長度];例如,有以下語句:int[][]b=newint[3][];//定義具有3行的參差數(shù)組bb[0]=newint[2];//首行具有2個(gè)元素b[1]=newint[3]; //第二行具有3個(gè)元素b[2]=newint[4];//第三行具有4個(gè)元素(3)元素引用數(shù)組名[下標(biāo)1][下標(biāo)2]【例4-3】
某班有M名同學(xué),本學(xué)期開了N門課,期末考試后,要統(tǒng)計(jì)每個(gè)學(xué)生的平均分。請(qǐng)你編寫一個(gè)程序?qū)崿F(xiàn)該功能。要求:對(duì)于每個(gè)學(xué)生要輸入學(xué)號(hào)和N門課的成績。【例4-4】編程輸出楊輝三角的前五行。楊輝三角的前五行值如下所示。11 11 2 11 3 3 11 4 6 4 14.1.4foreach
foreach語句是專用于對(duì)數(shù)組、集合等數(shù)據(jù)結(jié)構(gòu)中的每一個(gè)元素進(jìn)行循環(huán)操作的語句,通過它可以列舉數(shù)組、集合中的每一個(gè)元素,并且通過執(zhí)行循環(huán)體對(duì)每一個(gè)元素進(jìn)行需要的操作。
[格式]:foreach(數(shù)據(jù)類型符
變量名
in數(shù)組或集合)
循環(huán)體;
【例4-5】
使用foreach語句求二維數(shù)組的最小值。4.2典型實(shí)例練能力
4.2.1典型實(shí)例一:冒泡法排序
【實(shí)例題目】用冒泡法把隨機(jī)產(chǎn)生的10個(gè)整數(shù)從小到大排列。
4.2.1典型實(shí)例二:求二維數(shù)組各行的最大值及其下標(biāo)
【實(shí)例題目】
某次集會(huì)時(shí),學(xué)生排成了M行N列的方陣。請(qǐng)你編程把每個(gè)人的身高錄入到計(jì)算機(jī)中,然后找出每行的最高身高和該同學(xué)在該行中的位置。4.3上機(jī)練習(xí)重應(yīng)用
4.3.1上機(jī)練習(xí)一:二分法查找
【練習(xí)題目】
定義一個(gè)具有十個(gè)元素的一維數(shù)組,給它賦一個(gè)有序整數(shù)序列,然后利用折半查找算法查找一個(gè)輸入的數(shù)m在數(shù)組中的位置。若找到,輸出其下標(biāo),若找不到,則顯示沒有找到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 化學(xué)世界的奧秘探索
- 共享住宅新篇章
- 共綠共贏的商業(yè)策略
- 2025至2030年中國視力保健儀市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國洗瓶機(jī)除垢過濾設(shè)備市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國卸妝濕巾行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國不銹鋼份盤市場(chǎng)調(diào)查研究報(bào)告
- 2024年中國預(yù)拉伸板市場(chǎng)調(diào)查研究報(bào)告
- 2025年船用動(dòng)力堆及配套產(chǎn)品項(xiàng)目合作計(jì)劃書
- 學(xué)校規(guī)范漢字書寫教育方案
- Maximo7.5功能介紹和升級(jí)原因
- 2024-2030年中國螯合劑類行業(yè)發(fā)展形勢(shì)與前景規(guī)劃分析研究報(bào)告
- 四年級(jí)語文國測(cè)模擬試題 (1)附有答案
- 2024年北京政法職業(yè)學(xué)院高職單招筆試歷年職業(yè)技能測(cè)驗(yàn)典型例題與考點(diǎn)解析含答案
- DL∕ T 949-2005 水工建筑物塑性嵌縫密封材料技術(shù)標(biāo)準(zhǔn)
- 高考數(shù)學(xué)專項(xiàng)練習(xí)極值點(diǎn)偏移問題
- 輸變電工程施工質(zhì)量驗(yàn)收統(tǒng)一表式附件1:線路工程填寫示例
- 《金融科技學(xué)》教案 及 習(xí)題答案 (李建軍 版)
- 基金應(yīng)知應(yīng)會(huì)專項(xiàng)考試題庫(證券類190題)附有答案
- 拉森鋼板樁圍堰施工專項(xiàng)方案詳細(xì)
- 水利安全生產(chǎn)風(fēng)險(xiǎn)防控“六項(xiàng)機(jī)制”右江模式經(jīng)驗(yàn)分享
評(píng)論
0/150
提交評(píng)論