c#递归实现螺旋数组
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication5
{
class Program
{
public static int[,] a = new int[7, 7];
public static int count = 0;
public static int row = 0;
public static int col = 0;
public static int RowMax = 6;
public static int RowMin = 0;
public static int ColMax = 6;
public static int ColMin = 0;
public static int shangzuo1 = 0;
public static bool c = false;
public static int p = 0;
public static int q = 0;
static void Main(string[] args)
{
digui();
int n = 7;
if(n%2!=0)
a[n / 2, n/ 2] = n*n;
for (int i = 0; i < 7; i++)
for (int j = 0; j < 7; j++)
{
Console.Write(a[i, j] + "\t");
if (j == 6)
Console.WriteLine();
}
Console.ReadLine();
}
public static void digui()
{
while (p == 0 && q == 0)
{
count++;
if (count > 49)
return;
if (c==true)
{
col++;
row++;
ColMin++;
ColMax--;
RowMin++;
RowMax--;
c = false;
}
if (col > ColMax)
{
q = 1;
col--;
count--;
if(count<49)
digui();
}
else
{
a[row, col] = count;
if (count == 49)
return;
col++;
}
}
while (p == 0 && q == 1)
{
count++;
if (count > 49)
return;
row++;
if (row > RowMax)
{
p = 1;
row--;
count--;
if (count < 49)
digui();
}
else
{
a[row, col] = count;
if (count == 49)
return;
}
}
while (p == 1 && q == 1)
{
count++;
if (count >49)
return;
col--;
if (col < ColMin)
{
q = 0;
col++;
count--;
if (count <49)
digui();
}
else
{
a[row, col] = count; if (count == 49)
return;
}
}
while (p == 1 && q == 0)
{
count++;
if (count >49)
return;
row--;
if (row < RowMin)
{
p = 0;
c = true;
row++;
count-=2;
if (count <49)
digui();
}
else
{
if(row>RowMin)
a[row, col] = count; if (count == 49)
return;
}
}
}
}
}
c#递归实现螺旋数组的更多相关文章
- 每天一个JavaScript实例-递归实现反转数组字符串
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- PHP实现螺旋矩阵(螺旋数组)
今天碰到一个比较有意思的问题, 就是把A到Y这25个字母以下面的形式输出出来 A B C D E P Q R S F O X Y T G N W V U H M L K J I 问题很有意思,就是转圈 ...
- C语言 · 递归倒置字符数组
算法提高 递归倒置字符数组 时间限制:1.0s 内存限制:512.0MB 问题描述 完成一个递归程序,倒置字符数组.并打印实现过程 递归逻辑为: 当字符长度等于1时,直接返回 否则, ...
- 用java实现螺旋数组
接收数组的行数和列数,返回正序和倒序的螺旋数组 package cn.baokx; public class Test { public static void main(String[] args) ...
- Java实现 蓝桥杯VIP 算法提高 递归倒置字符数组
算法提高 递归倒置字符数组 时间限制:1.0s 内存限制:512.0MB 问题描述 完成一个递归程序,倒置字符数组.并打印实现过程 递归逻辑为: 当字符长度等于1时,直接返回 否则,调换首尾两个字符, ...
- [leetcode]54. Spiral Matrix2生成螺旋数组
import java.util.Arrays; /** * Created by lvhao on 2017/7/6. * Given an integer n, generate a square ...
- vue递归过滤树结构数组
let arr=[{ title:'1', key:'1', type:0, children:[{ title:'1-1', key:'1-1', type:0, }] },{ title:'2', ...
- 基于Visual C++2013拆解世界五百强面试题--题3-打印螺旋数组
请用C语言实现 输入N,打印N*N矩阵 比如 N = 3, 打印: 1 2 3 8 9 4 7 6 5 N = 4, 打印 1 2 3 4 12 13 14 5 11 16 ...
- php递归实现一维数组转为指定树状结构 --- 省市区处理
### 这两天脑壳痛,一时短路,想不到准备利用递归实现这个需求,最后还是要请教同事,回来自己在实现了一遍,并记录下来 ### 原数据: // { // 广东省: { // 广州市: [ // &quo ...
随机推荐
- python入门-文件
1 读取文件 with open('1.txt') as file_ojbect: contents = file_ojbect.read() print(contents.rstrip()) wit ...
- (11/24) css进阶:Less文件的打包和分离
写在前面:在前面我们对css打包和分离进行了描述.此节我们开始学习如何对less文件进行打包和分离. Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量.Mixin.函数等特性, ...
- 哈希学习(2)—— Hashing图像检索资源
CVPR14 图像检索papers——图像检索 1. Triangulation embedding and democratic aggregation for imagesearch (Oral ...
- leetcode929
package main import ( "fmt" "strings" ) func numUniqueEmails(emails []string) in ...
- JS 操作 file标签只上传照片
在当前高版本浏览器里 在标签里加这个属性就够用了 accept="image/*" $('input[type="file"]').live('change', ...
- eclipse web run on server 404
eclipse真是个坑爹玩意儿,前期在idea开发的web,移到eclipse遇到各种问题 刚开始好好的,突然404,不明所以,搞了好几天 参考eclipse修改web项目部署路径 解决了问题 后来发 ...
- android MD5 SHA1
参考文章: AndroidStudio 中怎样查看获取MD5和SHA1值(应用签名)(https://www.cnblogs.com/zhchoutai/p/7102516.html) 使用 java ...
- Zuul超时问题,微服务响应超时,zuul进行熔断
天碰到了微服务响应超时问题,而且超时时间特别短,2秒就超时,zuul就走熔断了. 我采用zuul作为网关,根据不同的访问路径进行微服务的路由,譬如有个服务是user,我访问user服务的某个接口时,该 ...
- cprogram作业
刘金福 SA17225205 第三次作业 url:http://blog.csdn.net/liu896749150/article/details/78176433 学号:SA17225404 姓名 ...
- django MongoDB上传文件
django上传文件,查询到的资料都是用的django自己的models.Model类,去定义一个FileField类型的存储文件,并且在里面加一句upload_to,如下所示: 但是如果用mon ...