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 ...
随机推荐
- 19.XPath选择器
1.extract():提取数据 2./text() :获取节点内容文本 3./@href :获取节点href属性 4. @ :获取属性名称 需要注意问题: 用定义的规则那 ...
- Python正则总结
re总结 限定符(就是控制重复次数) ? 匹配前面的子表达式零次或一次.例如,"do(es)?" 可以匹配 "do" . "does" 中的 ...
- leetcode447
public class Solution { /// <summary> /// 计算两个点的距离 /// </summary> /// <param name=&qu ...
- VB6 实现命令行调用时附着到原控制台
Public Declare Function AttachConsole Lib "kernel32.dll" (ByVal ProcessID As Integer) As B ...
- ABAP-动态创建DATABASE/FUNCTION(风险)
警告:此程序仅供研究,请谨慎操作,切勿对系统标准数据表及功能函数进行测试(可能无法修复). 程序:EWUCINS REPORT EWUCINS MESSAGE-ID US NO STANDARD PA ...
- mysql使用一条sql删除多条数据
使用in delete from course where chour in(55,56,57); course:表名 chour:字段 55,56,57数据
- mouseenter 事件
定义和用法 当鼠标指针穿过元素时,会发生 mouseenter 事件. 该事件大多数时候会与 mouseleave 事件一起使用. mouseenter() 方法触发 mouseenter 事件,或规 ...
- kernel TCP time wait bucket table overflow
# 故障描述 有一个需求是实时分析API接口访问日志,提取token去数据库查询对应的uid,然后收集一些指标存入到hbase中. 当程序执行一会后会被系统杀死 Killed ! # 故障排查 .CP ...
- Spring Boot Unregistering JMX-exposed beans on shutdown
创建springboot项目运行的时候报这个错误Unregistering JMX-exposed beans on shutdown,搜索发现第一条是: Spring boot 嵌入的tomcat不 ...
- Hibernate hql 多表查询
String hql="select c from Col c ,UserRole role where c.id=role.columnId and c.id=? and role.use ...