欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

详细介绍用C#描述数据结构2:Array的图文代码实例

程序员文章站 2024-02-14 18:19:04
...

  Array是.NET提供的最基础的数据集合,通过索引直接访问集合元素。提供一维或多维数据存储,并支持诸如,查询,搜索,排序,复制等操作。

提供的主要接口,根据语义划分,主要包括:

详细介绍用C#描述数据结构2:Array的图文代码实例

  也可以打百度脑图查看:
 http://naotu.baidu.com/file/f879a94fe2163c365cc22f4e4bbcc7dc

  一维数组声明,创建,初始化:
1)直接在初始化器内进行:

           int[] mp = new int[6] { -50, -30, -10, 10, 30, 50 };

2)分别赋值:

            mp[0] = -50;
            mp[1] = -30;
            mp[2] = -10;
            mp[3] = 10;
            mp[4] = 30;
            mp[5] = 50;

如下图所示,一维图的编号分别为0,1,2,3,4,5


详细介绍用C#描述数据结构2:Array的图文代码实例


多维(例如二维)数组声明,创建,初始化:(如上图所示,二维的编号分别为0,1,2,3,4,5)

            int[,] point = new int[2, 6] {
             { -50, -30, -10, 10, 30, 50 },//第0维
             { 50, 30, 10, 10, 30, 50 }//第1维 
                                         };

  分别初始化:

            //点0
            point[0, 0] = -50;            point[1, 0] = 50;            //点1
            point[0, 1] = -30;            point[1, 1] = 30;            //点2
            point[0, 2] = -10;            point[1, 2] = 10;            //点3
            point[0, 3] = 10;            point[1, 3] = 10;            //点4
            point[0, 4] = 30;            point[1, 4] = 30;            //点5
            point[0, 5] = 50;            point[1, 5] = 50;

  分别比较一维和多维,接口方法的语义区别:

            //获取某维的元素个数
            int mpLen0 = mp.GetLength(0);//6
            int pointLen0 = point.GetLength(0);//2
            int pointLen1 = point.GetLength(1);//6

            //获取某个维度的下标最大值
            int mpUpperBound = mp.GetUpperBound(0); //5
            int pointUpperBound0 = point.GetUpperBound(0);//1
            int pointUpperBound1 = point.GetUpperBound(1);//5
            //获取某个维度的下标最小值
            int mpLowBound = mp.GetLowerBound(0);//0
            int pointLowBound0 = point.GetLowerBound(0);//0
            int pointLowBound1 = point.GetLowerBound(1);//0

            //获取所有维数的元素总数
            int mpLen = mp.Length;//6
            int pointLen = point.Length;//12
            //获取维数
            int mpRank = mp.Rank;//1
            int pointRank = point.Rank;//2

  总结
  1 Array在编译时必须确定元素每一维度的元素个数,这是它最大的缺陷,对于运行时才能确定某个维度的元素个数的情况,这个数据结构是不能满足条件的!
  2 Array创建时的类型为强类型,必须指定。
  
  下载Array思维导图地址:
http://download.csdn.net/detail/daigualu/9772336
  测试源码下载地址:
  http://download.csdn.net/my

以上就是详细介绍用C#描述数据结构2:Array的图文代码实例的详细内容,更多请关注其它相关文章!