zoukankan      html  css  js  c++  java
  • 二维数组45度反斜线扫描分析。

     1 #include <stdio.h>
     2 /*
     3 反斜线扫描
     4 */
     5 int main(void)
     6 {
     7     int arr[4][5] = {
     8         {1 ,2 ,3 ,4 ,5},
     9         {3 ,4 ,5 ,6 ,7},
    10         {8 ,9 ,10,11,12},
    11         {13,14,15,16,17}
    12     };
    13 //扫描顺序 3->2->8->4->3->13->9->5->4       14->10->6->5->15->11->7->16->12
    14 //分析:a.特点1:i起始于1结束于3; j起始于0,每次结束不同(总结后:i的起始下标和j的终止下标相同,所以j<=i)由此写出循环
    15 //          特点2:i--,j++  总结后打印行的下标为:i-j 由此写出逐个打印的元素
    16     printf("---扫描顺序 3->2->8->4->3->13->9->5->4---
    
    ");
    17     int i,j;
    18     for(i = 1;i<4;i++)
    19     {
    20         for(j = 0;j<=i;j++)
    21         {
    22             printf("%d	",arr[i-j][j]);
    23         }
    24     }
    25     printf("
    
    ---扫描顺序 14->10->6->5->15->11->7->16->12---
    
    ");
    26 
    27 //扫描顺序 14->10->6->5->15->11->7->16->12
    28 //分析:b.特点1:j起始于1结束于3.i起始于3,每次结束不同(总结后:结束于i>=j-1)由此写出循环
    29 //          特点2:i--,j++; 总结后打印列的下标为:3-i+j
    30     for(j = 1;j<4;j++)
    31     {
    32         for(i = 3;i>=j-1;i--)
    33         {
    34             printf("%d	",arr[i][3-i+j]);
    35         }
    36     }
    37     putchar(10);
    38 
    39     return 0;
    40 }
  • 相关阅读:
    Codeforces 722C. Destroying Array
    Codeforces 722D. Generating Sets
    【BZOJ】3436: 小K的农场
    数论四·扩展欧几里德
    数论三·约瑟夫问题
    数论二·Eular质数筛法
    #1287 : 数论一·Miller-Rabin质数测试
    树的维护
    可持久化线段树
    【NOIP2016】天天爱跑步
  • 原文地址:https://www.cnblogs.com/wangchaomahan/p/9681276.html
Copyright © 2011-2022 走看看