zoukankan      html  css  js  c++  java
  • 填充Z形二维数组

    形如

     1   3 4 10
     2  5 9 11
     6  8 12 15
     7 13 14 16

    的数组称谓Z形二维数组。填充这样的数组其实只要按照Z形进行行走填充即可,设置一个flag指示方向,行走的时候检测边界,遇到边界便转换方向。

    const int N = 16;
    
    void fill_z_array(int A[N][N])
    {
    	for (int i = 1, x = 0, y = 0, flag = 1; i <= N * N; i++) {
    		A[x][y] = i;
    		if (flag) {
    			if (y == 0) {
    				if (x == N - 1) {
    					y += 1;
    				} else {
    					x += 1;
    				}
    				flag = 0;
    			} else {
    				if (x == N - 1) {
    					y += 1;
    					flag = 0;
    				} else {
    					x += 1;
    					y -= 1;
    				}
    			}
    		} else {
    			if (x == 0) {
    				if (y == N - 1) {
    					x += 1;
    				} else {
    					y += 1;
    				}
    				flag = 1;
    			} else {
    				if (y == N - 1) {
    					x += 1;
    					flag = 1;
    				} else {
    					x -= 1;
    					y += 1;
    				}
    			}
    		}
    	}
    }


  • 相关阅读:
    DRF
    DRF
    DRF
    DRF
    RESTful介绍
    DRF parser请求处理流程
    Vue项目的创建
    怎么清除file控件的文件路径
    java用spring实现文件下载
    JS判断元素是否在数组内 阿星小栈
  • 原文地址:https://www.cnblogs.com/pangblog/p/3327606.html
Copyright © 2011-2022 走看看