顺时针螺旋打印二维数组

转载 2016年08月31日 09:07:57

一个二维数组以顺时针螺旋的方式打印出来

* 例如,对数组:

1     2    3    4    5

14  15  16  17   6

13  20  19  18   7

12  11  10   9    8

* 打印出来的序列应该是:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

 程序:

  1. #include <iostream>  
  2. using namespace std;  
  3.   
  4.   
  5. int main(int argc, char **argv){  
  6.   
  7.     int a[4][5]={{1,2,3,4,5},  
  8.                {14,15,16,17,6},  
  9.                {13,20,19,18,7},  
  10.                {12,11,10,9,8}};  
  11.     int left=0, right=4;  
  12.     int low=0, high=3;  
  13.     while(left<right||low<high)  
  14.     {  
  15.         for(int i=left; i<=right; i++){  
  16.             cout<<a[low][i]<<" ";  
  17.         }  
  18.         low++;  
  19.           
  20.         for(int i=low; i<=high; i++){  
  21.             cout<<a[i][right]<<" ";  
  22.         }  
  23.         right--;  
  24.           
  25.         for(int i=right; i>=left; i--){  
  26.             cout<<a[high][i]<<" ";  
  27.         }  
  28.         high--;  
  29.           
  30.         for(int i=high; i>=low; i--){  
  31.             cout<<a[i][left]<<" ";  
  32.         }  
  33.         left++;          
  34.     }      
  35.     return 0;     
  36. }  

顺时针打印二维数组(螺旋输出数组)

题目:给定一个数组,将该数组从第一个元素开始顺时针打印出来。分析:先考虑打印周围一圈的问题,然后可以使用递归求解,直到最后全都打印完为止。 代码如下:package problem2;/** * ...
  • hutongling
  • hutongling
  • 2017年03月19日 17:44
  • 1632

黑马程序员——用二维数组打印螺旋方阵和螺旋矩阵

------- android培训、java培训、期待与您交流! ---------- ————————————————————————————————————————————————————————...
  • zz1017161726
  • zz1017161726
  • 2015年04月26日 15:42
  • 1530

Java 实现顺时针螺旋二维数组输出

看到一道有点意思的逻辑算法题,便着手实现一下。打印 N*N顺时针螺旋数组,规律如下:// 1 2 3 4 5 // 16 ...
  • yyh352091626
  • yyh352091626
  • 2016年08月18日 11:24
  • 3579

[二维数组]-顺时针螺旋打印二维数组

如下图  当我们遇到一个复杂问题时可以用图像帮我们思考 在上图中,我们设置二维数组宽度为rows,高度为columns,取左上角坐标为(startX,startY),取左下角的坐标为(en...
  • sinat_32588261
  • sinat_32588261
  • 2017年03月28日 12:18
  • 402

矩阵顺时针螺旋赋值

package cn.dlpu.lby; import java.util.Scanner; public class Xuanzhuantianru { /*顺时针螺旋填入 从键盘输入一个...
  • LIBOYU0
  • LIBOYU0
  • 2013年06月20日 09:56
  • 1112

螺旋队列顺时针方向 和逆时针方向的实现

这个博主找规律的部分写得很好,原样放在下面。最后给出了顺时针和逆时针方向的螺旋队列的实现,可以看出它们的差别如此之小。 和螺旋队列类似,也是找规律的zigzag数组见这个帖子。 螺旋队列的样子...
  • u013074465
  • u013074465
  • 2015年01月26日 20:05
  • 3007

螺旋输出一个方形的二维数组<java版>

对于给定一个方形的二维数组,让你螺旋输出它,即以固定右、下、左、上的顺序输出,由于一圈后又以该顺序循环,可以用递归的方法来做 public class CeShi { public static ...
  • dsa63
  • dsa63
  • 2013年11月15日 00:36
  • 1469

顺时针输入二维数组问题

leetcode54 Spiral Matrix 问题描述 Given a matrix of m x n elements (m rows, n columns), return all eleme...
  • lion19930924
  • lion19930924
  • 2016年06月15日 10:26
  • 256

JS实现顺时针打印数组

序今天中午吃饭的时候,遇到了一位同学,平时关系还算不错,最近他在准备面试,有一道面试题提了出来,就是关于5*5矩阵顺时针打印的问题。他是学习C语言和c++语言的,而我主要学习JavaScript。但是...
  • sinat_27714067
  • sinat_27714067
  • 2017年03月18日 21:40
  • 675

【练习1】输出一个螺旋数组,可以很好地理解数组和指针的使用

Input array size N (1~20) Using Two-Dimensional array 输入数组大小(1 - 20): 输出结果: 静态数组版: #include int ...
  • qq_27183003
  • qq_27183003
  • 2015年11月07日 08:54
  • 1895
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:顺时针螺旋打印二维数组
举报原因:
原因补充:

(最多只允许输入30个字)