博客
关于我
一个使用Java语言描述的矩阵旋转的例子
阅读量:362 次
发布时间:2019-03-04

本文共 1335 字,大约阅读时间需要 4 分钟。

一个把矩阵旋转输出的方法就是直接按照旋转以后的规律遍历输出

但有时候需要把矩阵旋转一工后续使用,如果不创建一个新的矩阵直接做原有矩阵基础上做旋转该如何操作呢

一个用java实现的算法

import edu.princeton.cs.algs4.StdIn;import edu.princeton.cs.algs4.StdOut;public class PrintMatrix {    public static void main(String[] args) {        int N = Integer.parseInt(args[0]);        int[][] a = new int[N][N];        for (int i = 0; i < N; i++)            for (int j = 0; j < N; j++)                a[i][j] = StdIn.readInt();        transMatrix(a);        printMatrix(a);    }       public static void transMatrix(int[][] a) {        int N = a.length;        for (int i = 0; i < N / 2; i++)            for (int j = i; j < N - 1 - i; j++)                circleTrans(a, i, j);     }       public static void printMatrix(int[][] a) {        int N = a.length;        for (int i = 0; i < N; i++)            for (int j = 0; j < N; j++)                StdOut.printf((j == N - 1) ? "%4d\n" : "%4d", a[i][j]);    }       private static void circleTrans(int[][] a, int i, int j) {        int N = a.length;        int temp = a[i][j];        for (int m = 0; m < 3; m++) {            int x = N - 1 - j;            int y = i;            a[i][j] = a[x][y];            i = x;            j = y;            }           a[i][j] = temp;    }   }
运行结果

Press ENTER or type command to continue

1 2 3

3 4 6

7 8 9

   7   3   1

   8   4   2

   9   6   3

时间复杂度是 O(N^2)

空间复杂度是 O (1) 

转载地址:http://oabg.baihongyu.com/

你可能感兴趣的文章
C语言的数值溢出问题(上)
查看>>
函数指针的典型应用-计算函数的定积分(矩形法思想)
查看>>
8051单片机(STC89C52)以定时器中断模式实现两倒计时器异步计时
查看>>
用 wxPython 打印你的 App
查看>>
vue项目通过vue.config.js配置文件进行proxy反向代理跨域
查看>>
android:使用audiotrack 类播放wav文件
查看>>
聊聊我的五一小假期
查看>>
CSS position属性static/relative/absolute/fixed/sticky用法总结
查看>>
LeetCode:28. 实现 strStr()——————简单
查看>>
Lionheart万汇:布林线双底形态分析技巧
查看>>
数据库三个级别封锁协议
查看>>
ACM/NCPC2016 C Card Hand Sorting(upc 3028)
查看>>
方法重写
查看>>
Java求逆波兰表达式的结果(栈)
查看>>
ubuntu学习笔记-常用文件、命令以及作用(hosts、vim、ssh)
查看>>
SLAM学习笔记-求解视觉SLAM问题
查看>>
普歌-允异团队-HashMap面试题
查看>>
还在一个一个手动安装虚拟机吗?Cobbler自动部署装机一键最小化安装打把游戏就好了
查看>>
程序员应该知道的97件事
查看>>
create-react-app路由的实现原理
查看>>