第5章数组和集合ppt课件.ppt

第5章数组和集合ppt课件.ppt

ID:59491573

大小:109.00 KB

页数:31页

时间:2020-09-13

第5章数组和集合ppt课件.ppt_第1页
第5章数组和集合ppt课件.ppt_第2页
第5章数组和集合ppt课件.ppt_第3页
第5章数组和集合ppt课件.ppt_第4页
第5章数组和集合ppt课件.ppt_第5页
资源描述:

《第5章数组和集合ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章 数组和集合5.1一维数组5.2二维数组5.3Array类5.4交错数组5.5ArrayList类5.6List类5.1一维数组5.1.1一维数组的定义定义一维数组的语法格式如下:数组类型[]数组名;例如,以下定义了3个一维数组,即整型数组a、双精度数组b和字符串数组c。int[]a;double[]b;string[]c;在定义数组后,必须对其进行初始化才能使用。初始化数组有两种方法:动态初始化和静态初始化。5.1.2一维数组的动态初始化动态初始化需要借助new运算符,为数组元素分配内存空间,并为数组元素赋初值,数值类型初始化为0

2、,布尔类型初始化为false,字符串类型初始化为null。动态初始化数组的格式如下:数组类型[]数组名=new数据类型[n]{元素值0,元素值1,,元素值n-1};其中,“数组类型”是数组中数据元素的数据类型,n为“数组长度”,可以是整型常量或变量,后面一层大括号里为初始值部分。1.不给定初始值的情况如果不给出初始值部分,各元素取默认值。例如:int[]a=newint[10];该数组在内存中各数组元素均取默认值0。2.给定初始值的情况如果给出初始值部分,各元素取相应的初值,而且给出的初值个数与“数组长度”相等。此时可以省略“数组长度”,因为

3、后面的大括号中已列出了数组中的全部元素。例如:int[]a=newint[10]{1,2,3,4,5,6,7,8,9,10};或int[]a=newint[]{1,2,3,4,5,6,7,8,9,10};在这种情况下,不允许“数组长度”为变量,例如:intn=5;//定义变量nint[]myarr=newint[n]{1,2,3,4,5}; //错误如果给出“数组长度”,则初始值的个数应与“数组长度”相等,否则出错。例如:int[]mya=newint[2]{1,2};  //正确int[]mya=newint[2]{1,2,3};//错误in

4、t[]mya=newint[2]{1};  //错误5.1.3一维数组的静态初始化静态初始化数组时,必须与数组定义结合在一起,否则会出错。静态初始化数组的格式如下:数据类型[]数组名={元素值0,元素值1,,元素值n-1};用这种方法对数组进行初始化时,无需说明数组元素的个数,只需按顺序列出数组中的全部元素即可,系统会自动计算并分配数组所需的内存空间。例如,以下是对整型数组myarr的静态初始化:int[]myarr={1,2,3,4,5};在这种情况下,不能将数组定义和静态初始化分开,例如,以下是错误的。int[]myarr;myarr={

5、1,2,3,4,5}; //错误的数组的静态初始化5.1.4访问一维数组中的元素访问一维数组中的某个元素:名称[下标或索引]。所有元素下标从0开始,到数组长度减1为止。例如,以下语句输出数组myarr的所有元素值:for(i=0;i<5;i++)Console.Write("{0}",a[i]);Console.WriteLine();C#还提供foreach语句。该语句提供一种简单、明了的方法来循环访问数组的元素。例如,以下代码定义一个名称为mya的数组,并用foreach语句循环访问该数组。int[]mya={1,2,3,4,5,6};fo

6、reach(intiinmya)System.Console.Write("{0}",i);Console.WriteLine();输出为:123456。5.1.5一组数组的越界若有如下语句定义并初始化数组ca:int[]ca=newint[10]{1,2,3,4,5,6,7,8,7,9,10};数组ca的合法下标为0~9,如果程序中使用ca[10]或ca[50],则超过了数组规定的下标,因此越界了。C#系统会提示以下出错信息。未处理的异常:Syatem.IndexOutOfRangeException:索引超出了数组界限。【例5.1】设计一个

7、控制台应用程序,采用二分查找方法在给定的有序数组a中查找用户输入的值,并提示相应的查找结果。usingSystem;namespaceProj5_1{classProgram{staticvoidMain(string[]args){double[]a=newdouble[10]{0,1.2,2.5,3.1,4.6,5.0,6.7,7.6,8.2,9.8};doublek;intlow=0,high=9,mid;Console.Write("k:");k=double.Parse(Console.ReadLine());while(low<=h

8、igh){mid=(low+high)/2;if(a[mid]==k){Console.WriteLine("a[{0}]={1}",mid,k);r

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。