zoukankan      html  css  js  c++  java
  • 40. 使用数组时的四个要点

    1.长宽相等的矩阵和数组完全两码事,访问行和访问列,不是简单的行列互换访问。要尊重原始数据的行列格式。(只有行和列相同的等形矩阵才适合直接互换)
    判断错误的方式,是从arr  ][ ]这个式子来判断,一定要明确左[ ]控制行, 右[ ]控制列,然后才再看双层循环,看看行和列的大小有没有出错。
     
     
    //只有行列相等才能这样直接互换 i j 来访问行列。
    int main(void)
    {
        int arr[5][5];
        int i,j;
        for(i = 0;i < 5;i++)//访问每一行
        {
            for(j = 0;j < 5;j++)
            {
                printf("%3d".arr[i][j]);
            }
            putchar(10);
        }
        
        for(i = 0;i < 5;i++)//访问每一列
        {
            for(j = 0;j < 5;j++)
            {
                printf("%3d".arr[j][i]);
            }
            putchar(10);
        }
        
        return 0;
    }
    //错误!访问行和访问列,不是简单的行列互换访问。要尊重原始数据的行列格式。
    int main(void)
    {
        int arr[3][4];
        int i,j;
        for(i = 0;i < 3;i++)//访问每一行 //正确
        {
            for(j = 0;j < 4;j++)
            {
                printf("%3d",arr[i][j]);
            }
            putchar(10);
        }
        
        for(i = 0;i < 3;i++)//访问每一列  //错误 说的就是这个
        {
            for(j = 0;j < 4;j++)
            {
                printf("%3d",arr[j][i]);
            }
            putchar(10);
        }
        
        for(i = 0;i < 4;i++)//访问每一列  //正确,但是写法我觉得垃圾,逻辑容易造成误解。
        {
            for(j = 0;j < 3;j++)
            {
                printf("%3d",arr[j][i]);
            }
            putchar(10);
        }
        
        for(j = 0;j < 4;j++)//访问每一列  //正确,i控制行,j控制列。习惯性喜欢用ij控制行列。
        {
            for(i = 0;i < 3;i++)
            {
                printf("%3d",arr[i][j]);
            }
            putchar(10);
        }
    
        return 0;
    }
     
    2.使用一个嵌套循环访问数组时,同时求行和列内容相关的问题。

    在行和列求和时,实现一个嵌套循环内同时计算,

     

    总和==一口气加完==持续慢性小累加

    也可同时计算每行和每列的最大值和小最值

    见4.13
     
    3.扫描数组时,双重循环与行列下标如何配合,确定扫描每大轮前的初始位置的定位(外层循环+内存循环初始化式决定),以及每小趟扫描时的走向(内层循环决定)
    见4.12 
     
    4.使用数组指针时各种灵活使用。
  • 相关阅读:
    平衡的括号[UVA-673]
    Spark GraphX图形数据分析
    Spark sql
    Spark 分布式计算原理
    spark 算子实例
    window scala-2.11.8 安装
    spark 2.3.3 安装
    安装jdk
    Logstash-6.2.2安装和Kibana-6.2.2安装:
    elasticsearch-6.2.2 安装
  • 原文地址:https://www.cnblogs.com/ZhuLuoJiGongYuan/p/9506950.html
Copyright © 2011-2022 走看看