数组:交错数组和多维数组的的原理

来源:互联网 发布:西南大学西塔学院 知乎 编辑:程序博客网 时间:2024/04/29 18:52

数组

数组种类:一维数组、二维数组、交错数组

数组:就是用来储存一堆相同类型的数据的容器。

内存分配:数组创建时会在堆内存中开辟连续的n个空间。

数组下标从0开始:new数组在堆中开辟了连续的n个空间,为了方便寻址所以从0开始。

  1数组在实例化的时候,必须指定容量(大小)

  2数组一旦创建完毕,容量就不再容许修改,因为如果中间某块内存空间已经被别的对象占用,那么,

数组长度不能被修改的根本原因是:

创建数组是在堆内存中开辟连续的几块空间,数组访问时通过第一个数组元素地址+下标的方式算出来的,如果修改数组长度,那么久必须为数组添加新的空间,但是新空间的前面可能已经由别的程序占用了几块空间,那么数组的空间就不连续了。


使用初始化器创建数组对象:编译后仍然是new 的方式->new string[]{“123”,”362”}

常用方法:Clone()克隆一个新的一样的数组

拷贝旧数组到新数组  arrOld.CopyTo(arrNew,0)

二维数组声明:string[,] arrStus=new string[5,9];

arrStus.Length 获得二维数组的元素

arrStus.GetLength(0)  获得1维数的长度

交错数组:数组的数组。

本质:就是一个数组,只不过它的元素也是数组;

声明创建:int[][]=new [3][];  创建的时候其实就是创建一个数组,[]只不过是声明数组里面存的是数组。

数组默认初始化值  string:空字符null  int 0

数组冒泡排序、二分查找

一维数组、语法:int[] arr=new int[]{1,2,3,4};

二维数组、 int[,] arr=new int[2,3];   int[,] arr={{1,2,3},{4,5,6}};

交错数组   int[][] arr=new int[3][];   int[][] arr={new int[] {1,2},new int[]{3,4}};


原创粉丝点击