JAVA蛇形矩阵的两种实现方法.docxVIP

  • 47
  • 0
  • 约4.1千字
  • 约 7页
  • 2021-01-11 发布于天津
  • 举报
蛇形矩阵的两种实现方法(java 版本) 看到一个关于蛇形矩阵的帖子, 想了下如何一行一行打印, 无须建立二维数组存储。 基本思想如下: 把这个输出的二维数组从外到里分解为多层 每层都是一个正方形的边 从外到里称为1,2,3…层 对于一个指定维数(行=列)的二维数组, 其中某个位置的元素(x,y) 首先根据x,y计算出这个位置所在的层数, 然后根据层数计算出这层左上角元素的值, (这个元素的位置必然是(层数-1,层数-1)) 最后根据x,y计算出它相当于本层左上角元素的偏移量, 二者相加,就是(x,y)的值. 下面附上代码,欢迎大家拍砖。 程序比较粗糙,主要是算法实现, view pla in copy to clipboardpri nt? 1. public class SnakeMatrix { 2. //存储结果的二维数组 private int [][] data; //二维数组的维数 private int index; 6. 〃0 右 1 下 2 左 3 上 7. 8. 9. private int direct; public static void main(String[]args){ SnakeMatrix s = new SnakeMatrix( 10); 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.

文档评论(0)

1亿VIP精品文档

相关文档