NET网页编程之.Net基本教程(四)-数组
据说很厉害,甚至可以把C#也干掉^_^,不过也很复杂,本来C++已经够复杂的。有人甚至还提出把这个东东引进标准,我觉得基本上不可能的。第4章数组本章电子档下载:高校.net课件教程,.net基本教程下载(四)
申明:本教程是从下面的电子档中拷贝上去的,下文中一切的图片均未显现,如必要更好的浏览体验,请下载电子档。
本章要点:
数组的观点
一维数组的界说、分派与初始化
二维数组的界说、分派与初始化
foreach语句的利用办法
与数组有关的算法则
4.1循规蹈矩学实际
4.1.1数组的观点
能够把数组当作是良多个变量的汇合,这些变量具有不异的范例,它们在内存中是一连寄存的,这些变量均具有不异的称号,而且能够经由过程下标互相辨别,每个如许的变量我们把它称为数组元素。
如假定寄存300个先生数学成就的数组名为cj,请求出一切先生的数学的均匀分,可以使用以下语句:
aver=0.0;
for(i=0;i<300;i++)
aver=aver+cj;
aver=aver/300;
4.1.2一维数组的界说、分派与利用
所谓一维数组是指只要一个下标的数组。数组在利用之
前必需先界说(或称声明)和分派空间,然后才干利用
数组元素。
1.一维数组的界说与分派
[格局]:数据范例符[]数组名=new数据范例符[长度];
比方,有以下语句:
int[]a=newint;//界说了一个数组a,该数组的数据类
型是int,具有10个元素。
实在数组的声明与分派能够写成两条语句,上述语句也能够写成:
int[]a;//界说数组
a=newint;//给数组分派存储空间
与C/C++分歧的是,C#中的数组的巨细能够静态断定,若有以下语句:
intAL=6;
inta[]=newint;
这两条语句界说了一个长度为6的数组a。
2.界说数组时对数组元素举行初始化
[格局]:数据范例符[]数组名={初值列表};
比方,有以下语句:
int[]x={1,2,3,4};
该语句界说了具有4个元素的数组x,并顺次给x、x、x和x赋初值1、2、3和4。上述语句也能够写成:int[]x=newint[]{1,2,3,4};
3.数组元素的援用
援用一维数组元素的一样平常情势以下:
数组名[下标]
比方,有界说语句:
int[]a=newint;
那末a数组具有元素a、a、a、a和a。【例4-1】找最年夜数游戏:有一批数,请你疾速地找出最年夜数及其地位。
【例4-2】随机发生十个两位数,然后使用选择法把它们从小到年夜排序。
4.1.3多维数组的界说、分派与利用
一维数组只要一个下标,多维数组具有多个下标,要援用多维数组的数组元素,必要利用多个下标。多维数组中最经常使用的是二维数组。所谓二维数组,就是有两个下标的数组,合适处置如成就呈报表、矩阵等具有行列布局的数据。与C/C++分歧的是,C#的二维数组的每行的数组元素个数能够相称,也能够不相称。每行数组元素个数相称的二维数组称为方形二维数组,各行数组元素个数分歧的称整齐数组。
1.方形二维数组
(1)界说与分派
[格局]:数据范例符[,]数组名=new数据范例符[长度1,长度2];比方,有以下语句:
int[,]a=newint;//界说了一个数组a,该数组的数据范例是int,具有12个元素。
实在上述数组的声明与分派能够写成两条语句,上述语句也能够写成:
int[,]a;//界说数组
a=newint;//给数组分派存储空间
(2)赋初值
[格局]:数据范例符[,]数组名={{初值列表1},{初值列表2},…,{初值列表n}};
比方,有以下语句:
int[,]b={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
上述语句也能够写成:
int[,]a=newint{{1,2,3,4},{5,6,7,8},{9,10,11,12}};
(3)元素援用
援用方形二维数组元素的一样平常格局以下:
数组名[下标1,下标2]
2.整齐数组
与C/C++分歧的是,在C#中,二维数组的每行的长度能够是分歧的,每行的元素个数都可以由用户指定。
(1)分派行
[格局]:数据范例符[][]数组名=new数据范例符[行数][];
比方,有以下语句:
int[][]b=newint[];
该语句界说了一个名为b的整齐数组,数组的行数为3。
(2)名行数组元素个数的分派
[格局]:数组名=new数据范例符[长度];
比方,有以下语句:
int[][]b=newint[];//界说具有3行的整齐数组b
b=newint;//首行具有2个元素
b=newint; //第二行具有3个元素
b=newint;//第三行具有4个元素
(3)元素援用
数组名[下标1][下标2]
【例4-3】某班有M名同砚,本学期开了N门课,期末测验后,要统计每一个先生的均匀分。请你编写一个程序完成该功效。请求:关于每一个先生要输出学号和N门课的成就。
【例4-4】编程输入杨辉三角的前五行。杨辉三角的前五行值以下所示。
1
1 1
1 2 1
1 3 3 1
1 4 6 4
1
4.1.4foreach
foreach语句是公用于对数组、汇合等数据布局中的每个元素举行轮回操纵的语句,经由过程它能够枚举数组、汇合中的每个元素,而且经由过程实行轮回体对每个元素举行必要的操纵。
[格局]:foreach(数据范例符变量名in数组或汇合)
轮回体;
【例4-5】利用foreach语句求二维数组的最小值。
4.2典范实例练才能
4.2.1典范实例一:冒泡法排序
【实例标题】
用冒泡法把随机发生的10个整数从小到年夜分列。
4.2.1典范实例二:求二维数组各行的最年夜值及其下标
【实例标题】
某次会议时,先生排成了M行N列的方阵。请你编程把每一个人的身高录进到盘算机中,然后找出每行的最高身高和该同砚在该行中的地位。
4.3上机实习重使用
4.3.1上机实习一:二分法查找
【实习标题】
界说一个具有十个元素的一维数组,给它赋一个有序整数序列,然后使用折半查找算法查找一个输出的数m在数组中的地位。若找到,输入其下标,若找不到,则显现没有找到信息。
4.3.1上机实习二:求二维数组的鞍点
【实习标题】
找出一个5×4数组的“鞍点”。所谓“鞍点”是指在本行中值最年夜,在本列中值最小的数组元素。鞍点大概有,也大概没有,假如有请求输入一切“鞍点”的行号和列号和鞍点个数,假如没有鞍点,则输入响应的提醒信息。另外,小型软件代码重用价值低,没有必要跨平台;大型软件,有严格的规划、部署,不可以随意跨平台。 由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。 ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。 可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。 通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
页:
[1]