zoukankan      html  css  js  c++  java
  • 遍历数组 例子

    什么是数组
      数组是一个元素的序列,同一个数组中的所有元素具有相同的类型,这一点与类或结构中的域不同,类或结构中不同的域可以具有不同的类型。

    (1) 一维数组

      只包含单个序列的数组称为一维数组。

    (2) 多维数组

      多维数组通过一个或多个值进行索引。

    数组的创建
      声明数组时,方括号 ([]) 必须跟在类型后面,而不是标识符后面。在 C# 中,将方括号放在标识符后是不合法的语法。

      


    初始化数组
    初始化数组

    C# 通过将初始值括在大括号 ({}) 内为在声明时初始化数组提供了简单而直接了当的方法。特别要注意的是,如果声明时未初始化数组,则数组成员自动初始化为该数组类型的默认初始值。

    下面的示例展示初始化不同类型的数组的各种方法。

    一维数组


    int[] numbers = new int[5] {1, 2, 3, 4, 5};

    string[] names = new string[3] {"Matt", "Joanne", "Robert"};

    可省略数组的大小,如下所示:

    int[] numbers = new int[] {1, 2, 3, 4, 5};

    string[] names = new string[] {"Matt", "Joanne", "Robert"};

    如果提供了初始值设定项,还可省略 new 语句,如下所示:

    int[] numbers = {1, 2, 3, 4, 5};

    string[] names = {"Matt", "Joanne", "Robert"};

    多维数组

    int[,] numbers = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} };

    string[,] siblings = new string[2, 2] { {"Mike","Amy"}, {"Mary","Albert"} };

    可省略数组的大小,如下所示:

    int[,] numbers = new int[,] { {1, 2}, {3, 4}, {5, 6} };

    string[,] siblings = new string[,] { {"Mike","Amy"}, {"Mary","Ray"} };

    如果提供了初始值设定项,还可省略 new 语句,如下所示:

    int[,] numbers = { {1, 2}, {3, 4}, {5, 6} };

    string[,] siblings = { {"Mike", "Amy"}, {"Mary", "Albert"} };


    初始化数组变量
      访问单个数组中元素

        int[] pains = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};

        pains[2] = 6;//写入 给pains数组索引为2的元素赋值

        console.writeline(pains[2]); //输出pains数组索引为2的元素


     

    遍历整个数组
    一维数组的遍历


      int[] r = new int[] { 5, 21, 53, 65, 23, 12 };

      for (int i = 0; i < r.length; i++)
                {
                   console.writeline(r[i]);           

        }


    //依次输出 5 21 53 65 23 12

    二维数组的遍历

                int[,] arr = new int [2, 3] { { 2, 5, 1 }, { 3, 6, 8 } };
                for (int i = 0; i < arr.GetLength(0); i++)
                {
                    for (int j = 0; j < arr.GetLength(1); j++)
                    {
                        Console.WriteLine(arr[i,j]);
                    }
                }

    //依次输出 2 5 1 3 6 8

    数组循环赋值
    int[] no=new int [5]{};

    for (int i = 0; i < no.Length; i++)
                {

          int k = int.Parse(Console.ReadLine());   //获取输入的值      
                    no[i] = k                //注意 k是一个变量  每次循环k重新初始化
                }

    数组的排序
    利用冒泡法进行排序


                int[] r = new int[] { 5, 21, 53, 65, 23, 12 };
                int temp;
                for (int i = 0; i < r.Length - 1; i++)                 //Length-1代表程序最多做n-1次排序
                {
                    for (int j = r.Length - 2; j >= i; j--)     
                    {
                        if (r[j + 1] < r[j])            //交换元素位置
                        {
                            temp = r[j + 1];           //因元素交换位置,把其中一个值存起来,用于交换。
                            r[j + 1] = r[j];
                            r[j] = temp;
                        }
                    }
                }
                for (int i = 0; i < r.Length; i++)
                {
                    Console.WriteLine(r[i]);
                }

  • 相关阅读:
    [CF149D] Coloring Brackets(区间dp)
    [CF1437E] Make It Increasing(LIS)
    洛谷试题之跳石头
    【模板】深搜和广搜
    高精度阶乘
    【模板】拓扑排序
    【模板】最小生成树——Kruskal算法
    判断素数的方法
    高精度乘法
    高精度加法
  • 原文地址:https://www.cnblogs.com/chenghu/p/2261287.html
Copyright © 2011-2022 走看看