WEB开发网
开发学院WEB开发ASP.NET 数据结构2--数组 阅读

数据结构2--数组

 2010-10-22 08:05:25 来源:WEB开发网   
核心提示:首先讨论数组,数组属于线性群集,数据结构2--数组,可索引的数据集合,C#里面有ArrayList类,到达此限制就再加16,对应的是Count属性,能够动态的增加长度,比传统数组更有生命力

首先讨论数组。数组属于线性群集,可索引的数据集合。C#里面有ArrayList类,能够动态的增加长度,比传统数组更有生命力。数组里面的元素是统一化的,声明的时候也是针对某种类型的来声明的:

sring[] names;
names=new string[5];//这是实例化了5个数据的数组

int[] numbers = new int[] {1,2,3};//这种是使用IDE来自动计算数组长度类型

 

数组的访问可以直接用数组名[index]方式,也可以使用函数访问。

//简洁方式
names[2] = "HanMeiMei";

//函数方式
names.SetValue("Lilei",3);

 

关于数字上限问题是动态获取的比较好些,

for(int i=0;i<names.GetUpperBound(0);i++){}

 

下面是是关于多维数组:多维数组在内存中实际上还是线性的,只是我们为了现实中某些计算方便,认为的把它们分组,分组的层数代表维数,比如一维上的就是一个{},二维的就是{{},{},{}}三维的就是{{{},{}},{{},{}}} 把每一个大括号看成是一行,里面的元素就是这一行内放置的数据

int[,] grade = new int[,]

 
{ 
view sourceprint?  {1,2,3,4}, 
view sourceprint?
  {5,6,7,8}, 
view sourceprint?
  {9,10,11} 
view sourceprint?
} 

 

数组可以作为函数的参数,方便可选参数的定制,也方便了返回值为多个情况

  特殊数组类型:锯齿状,也就是二维数组内一行数据长度不是固定的,这种声明方式有些特殊,需要单独为行列指定长度:

int[][]  jays = new int[5][];//这种事声明了一个5行的二维数组,每一行数据不定长 
view sourceprint?
1 string[][] rows = new string[4][]; 
view sourceprint?
1 using System; 
view sourceprint?
1 Class Class1 
view sourceprint?
1 { 
view sourceprint?
1   static void Main() 
view sourceprint?
1     { 
view sourceprint?
1       int[] Jan = new int[31]; 
view sourceprint?
1       int[] Feb = new int[29]; 
view sourceprint?
1     } 
view sourceprint?
1      int[][] sales = new int[][] { Jan,Feb }; 
view sourceprint?
1      int month , day ,total; 
view sourceprint?
1      double average = 0.0; 
view sourceprint?
1      sales[0][0] = 41;//访问第一行第一个数据,也就是Jan的周一 
view sourceprint?
1      sales[0][1] = 42; 
view sourceprint?
1      sales[0][2] = 43; 
view sourceprint?
1      sales[0][3] = 44; 
view sourceprint?
1      sales[0][4] = 45; 
view sourceprint?
1      sales[0][5] = 46; 
view sourceprint?
1      sales[0][6] = 47; 
view sourceprint?
1      sales[1][0] = 11; 
view sourceprint?
1      sales[1][1] = 12;//访问第二个月的周一 
view sourceprint?
1      sales[1][2] = 13; 
view sourceprint?
1     sales[1][3] = 13; 
view sourceprint?
1     sales[1][4] = 14; 
view sourceprint?
1     sales[1][5] = 15; 
view sourceprint?
1     sales[1][6] = 16; 
view sourceprint?
1     for(month=0;month<=1;month++) 
view sourceprint?
1       {   
view sourceprint?
1         total = 0; 
view sourceprint?
1         for(day=0;day<=6;day++) 
view sourceprint?1           {total+= sales[month][day];} 
view sourceprint?
1       } 
view sourceprint?
1 } 

2.C#中的数组应用

ArrayList类是System.Collections命名空间中的类,该对象有Capacity承载数据能力属性,初始值为16,到达此限制就再加16,对应的是Count属性,返回的是当前数组中元素的个数。

Tags:数据结构 数组

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接