九宫格算法

[java] view plaincopy

    1. public class sjjg {
    2. public static void main(String[] args) {
    3. int n = 5;
    4. // 0:向右,1:向下,2:向左,3:向上
    5. int direction = 0;
    6. // 行,列
    7. int row = 0, col = 0;
    8. int num = 0;
    9. int[] array = new int[n * n];
    10. while (array[row * n + col] == 0) {
    11. num++;
    12. array[row * n + col] = num;
    13. switch (direction) {
    14. case 0:
    15. col++;
    16. break;
    17. case 1:
    18. row++;
    19. break;
    20. case 2:
    21. col--;
    22. break;
    23. case 3:
    24. row--;
    25. break;
    26. }
    27. if (row == n || col == n || row == -1 || col == -1
    28. || array[row * n + col] != 0) {
    29. direction++;
    30. if (direction == 4)
    31. direction = 0;
    32. switch (direction) {
    33. case 0:
    34. row++;
    35. col++;
    36. break;
    37. case 1:
    38. row++;
    39. col--;
    40. break;
    41. case 2:
    42. row--;
    43. col--;
    44. break;
    45. case 3:
    46. row--;
    47. col++;
    48. break;
    49. }
    50. }
    51. }
    52. for (int i = 0; i < n; i++) {
    53. for (int j = 0; j < n; j++) {
    54. System.out.printf("%-3s", array[i * n + j]);
    55. }
    56. System.out.println();
    57. }
    58. }
    59. }
时间: 2024-12-28 21:33:28

九宫格算法的相关文章

iOS开发——UI篇&amp;九宫格算法

九宫格算法 关于iOS开发中九宫格的实现虽然使用不多,而且后面会有更好的方实现,但是作为一个程序员必需要知道的就是九宫格算法的实现. 一:实现思路: (1)明确每一块用得是什么view (2)明确每个view之间的父子关系,每个视图都只有一个父视图,拥有很多的子视图. (3)可以先尝试逐个的添加格子,最后考虑使用for循环,完成所有uiview的创建 (4)加载app数据,根据数据长度创建对应个数的格子 (5)添加格子内部的子控件 (6)给内部的子控件装配数据 二:算法的实现 1 /* 2 *

1到9的数字填充后每行每列的数字相加都等于15的九宫格算法

1 /// <summary> 2 /// 九宫格算法 3 /// </summary> 4 public void NineTable() 5 { 6 //创建一个三阶方阵 7 int[,] arr = new int[3, 3]; 8 //第3行的行下标 9 int a = 2; 10 //第2行的行下标 11 int b = 3 / 2; 12 //给数组赋值 13 for (int i = 1; i <= 9; i++) 14 { 15 arr[a++, b++] =

iOS开发系列-九宫格算法-xib

给大家演示 应用程序下载 小项目,效果图:涉及知识点:懒加载,九宫格算法,字典转模型,自定义UIView ,xib文件的使用 首先把素材拖到Xcode项目中:简单看一下素材文件 此时大家应该首先关注.plist后缀的文件,里面存放的是我们用的数据,接下来看一下plist文件里面的数据 从这里面可以看到有12个应用程序下载,也就是12个UIView控件, 接下来,我们就加载这个plist文件,使用里面的数据.首先不是把plist文件拖拽到Xcode中就会自动使用的,而是加载plist文件,才能使用

1-10(退出键盘,设置按钮的背景图,transform属性,imageView序列帧动画,九宫格算法...)

(1-10目录) 1.取得2个文本输入框的值 2.退出键盘 3.设置按钮的背景图 4.执行动画 5.手动创建按钮以及设置按钮的一些基本属性 6 transform属性 7.imageView序列帧动画 8.九宫格算法 9.通过xib创建局部控件,利用模型封装加载数据 10设置状态栏的样式为白色 { 扯淡环节: 工作这么久了, 发现一些细节有时候总是忽略, 现在就把我刚接触时的知识点给整理出来!, 没事自己看看, 也分享给大家! 分享,创造快乐!哈哈 xq每天都生活在快乐当中, 愿你们也是! }

九宫格算法图示

一基本算法 1确定行数,边距,宽高 2计算中间距 3计算行列号 4计算xy

IOS 九宫格算法

@interface ViewController () @property (nonatomic,strong) NSArray *apps; //获取.plist数据 @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //九宫格的总列数 int totalColumns=5; //1.1个格子的尺寸 CGFloat appW=50; CGFloat appH=60; //2.计算间隙

iOS UI基础 九宫格算法

案例分析: 分析: 代码案例实现: // //  ViewController.m //  01-九宫格算法 // //  Created by FlyLee on 14-9-12. //  Copyright (c) 2014年 FLYLEE.CN. All rights reserved. // #import "ViewController.h" @interface ViewController () /* 数据容器 */ @property (nonatomic,strong

iOS应用九宫格算法

1.框框横向间隔为:( "界面的总宽度"-"界面每行的控件的宽度" * "每行要现实的列数(这里是3)") / ("列数 + 1") 2.框框纵向间隔可以自定义写死 3.每个框框横向摆放的位置是:(框框宽度+间隔宽度)乘以(列号) 4.每个框框纵向摆放的位置为:(框框高度+间隔宽度)乘以(行号) + 顶端间隔[这里是30] 5.每个框框在第几行第几列的算法为: 行号为"框框的序号对列数取商", 列号为&qu

iOS-界面搭建鼻祖_九宫格算法

搭建九宫格的步骤: 明确每一块用的是什么view 明确每个view之间的父子关系 先尝试逐个逐个添加格子,最后考虑使用for循环 加载app数据,根据数据长度创建对应个数的格子 添加格子内部的子控件 给格子内部的子控件装配数据 效果图: 代码: - (void)viewDidLoad { [super viewDidLoad]; //搭建界面-九宫格!! #define kAppViewH 80 //每个小视图高80 #define kAppViewW 80 //每个小视图宽80 #define