zoukankan      html  css  js  c++  java
  • 数据结构2数组

      首先讨论数组。数组属于线性群集,可索引的数据集合。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[,]
    {
      {1,2,3,4},
      {5,6,7,8},
      {9,10,11}
    }
    //这种就属于二维数组声明方式

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

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

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

    2.C#中的数组应用

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

    纸上得来终觉浅,绝知此事要躬行
  • 相关阅读:
    poj2987 Firing
    poj3469 Dual Core CPU
    poj3281 Dining
    poj1149 PIGS
    Java基础知识强化之集合框架笔记50:Map集合之Map集合的概述和特点
    Java基础知识强化之网络编程笔记09:TCP之客户端键盘录入服务器写到文本文件中
    Java基础知识强化之IO流笔记35:InputStreamReader(Reader字符流的子类)2种read数据方式
    Java基础知识强化之IO流笔记34:OutputStreamWriter(Writer字符流的子类)5种write数据方式
    Java基础知识强化之IO流笔记33:转换流之InputStreamReader的使用
    Java基础知识强化之IO流笔记32:转换流之OutputStreamWriter的使用
  • 原文地址:https://www.cnblogs.com/d2ee/p/1857784.html
Copyright © 2011-2022 走看看