20.顺时针打印矩阵

原创 2015年07月08日 20:11:18




void PrintMatrixClockwisely(int **numbers, int columns, int rows)
{
if (numbers == NULL || columns <= 0 || rows <= 0)
return;
int start = 0;
while (columns > start * 2 && rows > start * 2)
{
PrintMatrixInCircle(numbers,columns,rows,start);
++start;
}
}


void PrintMatrixInCircle(int** numbers, int columns, int rows, int start)
{
int endX = columns - 1 - start;
int endY = rows - 1 - start;
//从左到右打印一行
for (int i = start; i <= endX; ++i)
{
int number = numbers[start][i];
printNumber(number);
}
//从上到下打印一列
if (start < endY)
{
for (int i = start + 1; i <= endY; ++i)
{
int number = numbers[i][endY];
printNumber(number);
}
}
//从右到左打印一行
if (start < endX&&start < endY)
{
for (i = endX - 1; i >= start; --i)
{
int number = numbers[endY][i];
printNumber(number);
}
}
//从下到上打印一行
if (start < endX&&start < endY - 1)
{
for (int i = endY - 1; i >= start + 1; --i)
{
int number = numbers[i][start];
printNumber(number);
}
}
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【面试题】剑指offer20--顺时针打印一个矩阵的数字

【面试题】剑指offer20--顺时针打印一个矩阵的数字

剑指offer-面试题20.顺时针打印矩阵

题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。例如: 输入一个矩阵如下: 1 1 2 3 4 2 5 6 7 8 3 9 10 ...

剑指offer 面试题20 顺时针打印矩阵

剑指offer 面试题20 顺时针打印矩阵 输入一个矩阵,按照从外向里以顺时针依次打印出每一个数字。 例如,如果输入矩阵如下: 1 2 3 4 ...

剑指offer(20)顺时针打印矩阵

题不难,画图推导一下就ok ,这样的
  • jw903
  • jw903
  • 2014-08-06 17:48
  • 413

剑指Offer_面试题20_顺时针打印矩阵

题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵:  1   2   3   4  5   6   7   8 9  10  11 12  1...

剑指offer_面试题20_顺时针打印矩阵(思路在一步步分解之中)

题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 例如:如果输入如下矩阵:  1    2     3     4  5    6...

剑指offer之面试题20顺时针打印矩阵

问题描述:输入一个矩阵,按照从外向内以顺时针的顺序一次打印出每一个数字。

《剑指offer》面试题20 顺时针打印矩阵

题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印...

剑指offer 20. 顺时针打印矩阵

按照此顺序进行输出 // 题目:输入一个二维矩阵,顺时针打印这个矩阵 // 解法:设置最大最小值,判断 public class Main { public static void main(S...

剑指offer面试题20-顺时针打印矩阵

题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 如: 1-2-3-4 5-6-7-8 9-10-11-12 13-14-15-16 的矩阵,打印结果为:1,2,3...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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