欢迎来到天天文库
浏览记录
ID:19430419
大小:2.04 MB
页数:50页
时间:2018-10-02
《常用数据结构与算法(数组)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章常用数据结构与算法数据结构和算法是程序设计的基石。本章重点讲述C#中的几个主要的数据结构类型:字符串、数组和枚举。本章还将介绍一些常用算法,如几种典型排序算法的C#实现。27.2数组数组的作用非常强大,数据也是基本数据结构之一,是编程实现过程中必不可少的要素之一。37.2.1数组的概念数组(Array)是一种数据结构,一个数组由若干个类型相同的数组元素的变量。C#中,数组中的所有变量都具有相同的类型,而且数组具有一定的长度。在数组中,每一个成员叫做数组元素,数组元素的类型称为数组类型,数组类型可以是C#中定义的任意类型,其中也包括数组类型本身。4如果一个数组的类型不是
2、数组类型,称之为一维数组。如果数组元素的类型是数组类型,就称之为多维数组,也就是说,数组定义可以嵌套。这些变量可以通过一个数组名和数组下标(或者称为索引)来访问,数组元素的下标是从零开始,结束于长度减一。57.2.1数组的概念数组被用于各种目的,因为它提供了一种高效、方便的手段将相同类型的变量合成一组。例如,可以用数组保存一个月中每天的温度记录,货物平均价格的记录。数组的主要优点是,通过这样的一种方式组织数据使得数据容易被操纵——静态操作。例如,有一个数组,它包括选定的一组学生的数学成绩,操作该数组,很容易计算其平均数学成绩。而且以这样的方式组织数据,会很容易实现对数据的排
3、序。67.2.1数组的概念在实际使用数据的过程中,一般是先确定数据类型,然后根据实际情况确定数组的长度。C#中的数组是由System.Array类派生而来的引用对象,因此可使用Array类的方法和成员进行各种操作。比如:Length属性GetLength()方法Sort()方法。。。。。。。77.2.2System.Array类System.Array类是C#中各种数组的基类,其常用属性和方法的简单说明如表7-1所示。87.2.3一维数组由具有一个下标的数组元素所构成的数组就是一维数组,一维数组是简单的数组。例如:为了记录50个银行储蓄用户的账号,就可以使用一个长度为50的
4、一维数组来处理。一维数组比较直观,使用起来相对容易。97.2.3一维数组1.一维数组的定义数据在使用前先进行定义。定义一维数组的格式如下:数据类型[]数组名;其中数组类型为各种数据类型,它表示数据元素的类型;在数组名与数据类型之间是一组空的方括号。例如:int[]intArr;//定义了一个整型一维数组string[]strArr;//定义了一个字符串类型一维数组注意:数组是引用类型,这里只是定义了一个存储该数组首地址值的空间!在定义数组后,必须对其进行初始化才能使用,即动态初始化和静态初始化。107.2.3一维数组2.动态初始化动态初始化需要借助new运算符,为数组元素分
5、配内存空间,并为数据元素赋初始值。动态初始化数组的格式如下:数组名=new数据类型[数组长度];例如:char[]chArr;//定义数组引用chArr=newchar[10];//动态申请数组元素空间,//并默认初始化10个元素值均为011在C#中,可以将数组定义与动态初始化合在一起,格式如下:数据类型[]数组名=new数据类型[数组长度];例如:int[]intArr=newint[5];上面的语句定义了一个整型数组,它包含从intArr[0]到intArr[4]这5个元素。new运算符用于创建数组实例,并用默认值对数据元素进行初始化。在本例中,所有数组元素的值都被初始
6、化为0。127.2.3一维数组定义其他类型的数组的方法是一样的,如下面的语句用于定义一个存储3个字符串元素的数组,并对其进行初始化:string[]strArr=newstring[3];strArr数组中所有数组元素的初始值都为“”。137.2.3一维数组注意:C#中动态分配空间,数组长度是可以为变量的!数组的动态初始化,能够在程序的运行过程中分配长度。int[]a;intj;j=int.Parse(Console.ReadLine());a=newint[j];//可以使用变量147.2.3一维数组当用new创建数组实例,其长度为常量时:用户可以在创建数组实例的同时,自
7、行赋予其初始化值,程序代码如下:int[]intArr=newint[5]{3,6,9,2,10};此时数组元素的初始化值就是大括号中列出的元素值。string[]strArr=newstring[3]{“1”,”2”,”3”};要求:初始化列表中元素个数与长度描述一致!——C#中,不允许部分初始化数组元素,要么不给,要么全部给出初始值。157.2.3一维数组3.静态初始化静态初始化数组时,必须与数组定义结合在一起,否则程序就会报错。静态初始化数组的格式如下:数据类型[]数据名={元素1[,元素2…]};用这种方法
此文档下载收益归作者所有