剑指offer面试题20:顺时针打印矩阵
2016-09-08 22:38
507 查看
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
#include <iostream> using namespace std; void PrintCircle(int numbers[4][4], int columns, int rows, int start) { int endcol = columns - start - 1; int endrow = rows - start - 1; for (int i = start; i <= endcol; i++) cout << numbers[start][i] << " "; for (int i = start + 1; i <= endrow; i++) cout << numbers[i][endcol] << " "; for (int i = endcol - 1; i >= start; i--) cout << numbers[endrow][i] << " "; for (int i = endrow - 1; i >= start + 1; i--) cout << numbers[i][start] << " "; } void PrintMatrix(int numbers[4][4], int columns, int rows) { if (numbers == NULL || columns <= 0 || rows <= 0) return; int start = 0; while (columns > start * 2 && rows > start * 2) { PrintCircle(numbers, columns, rows, start); ++start; } } int main() { int number[4][4] = { {1, 2, 3, 4}, {12, 13, 14, 5}, {11, 16, 15, 6}, {10, 9, 8, 7}}; PrintMatrix(number, 4, 4); cout << endl; return 0; }
相关文章推荐
- 【剑指offer】4.2画图让抽象问题形象化——面试题20:顺时针打印矩阵
- 【面试题】剑指offer20--顺时针打印一个矩阵的数字
- 剑指offer面试题20-顺时针打印矩阵
- Java 剑指offer_面试题20_顺时针打印矩阵(思路在一步步分解之中)
- [剑指offer]面试题20:顺时针打印矩阵
- 剑指Offer面试题20(Java版):顺时针打印矩阵
- 剑指offer-4-面试题20:顺时针打印矩阵(画图使抽象问题形象化)
- 剑指offer-面试题20 顺时针打印矩阵
- 剑指offer-面试题20:顺时针打印矩阵
- 剑指offer 面试题20—顺时针打印矩阵
- 剑指offer--面试题20:顺时针打印矩阵--Java实现
- 剑指offer面试题[20]-顺时针打印矩阵
- 剑指offer——面试题20:顺时针打印矩阵
- 剑指offer 面试题20 顺时针打印矩阵
- 【面试题】剑指Offer-20-顺时针打印矩阵
- [剑指offer][面试题20]顺时针打印矩阵
- 剑指Offer----面试题20:顺时针打印矩阵
- 剑指offer-面试题20-顺时针打印矩阵
- 【剑指Offer】面试题20:顺时针打印矩阵
- 剑指offer_面试题20_顺时针打印矩阵(思路在一步步分解之中)