顺时针打印矩阵
来源:互联网 发布:淘宝店主照片认证 编辑:程序博客网 时间:2024/05/22 13:33
/*
面试题20:顺时针打印矩阵
*/
void PrintNumber(int number){ printf("%d ",number);}//一步一步打印矩阵void PrintMatixInCircle(int** numbers,int columns,int rows,int start){ int endX = columns-1-start; int endY = columns-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][endX]; PrintNumber(number); } } //从右到左打印一行 if(start<endX &&start<endY) { for(int 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); } }}//打印矩阵void PrintMatrixClockwisely(int** numbers,int columns,int rows){ if(numbers == 0||columns<0||rows == 0) return ; int start = 0; while(columns>start*2 && rows>start*2) { PrintMatixInCircle(numbers,columns,rows,start); ++start; }}int main(){ int Matrix[4][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}; int **p = new int*[4]; for (int i=0; i<4; i++) { p[i] = Matrix[i]; } PrintMatrixClockwisely(p,4,4); return 0;}
阅读全文
0 0
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 矩阵顺时针打印
- 顺时针打印矩阵
- 顺时针打印矩阵[算法]
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 剑指Offer面试题11[数值的整数次方]
- ubuntu小白常用指令汇总(不断更新ing)
- 好玩的线上检测代码工具-codewars(2)
- UI 一一 自定义等高cell (XIB方式)
- 008_Java中的Number
- 顺时针打印矩阵
- 牢骚话,理想话
- java反射
- 生产者消费者模式详细解读
- ZCMU—1957
- 百度之星初赛B 度度熊的交易计划(最小费用可行流)
- 数据结构--排序
- create_pascal_tf_record.py 代码解析
- 常用网址