当前位置:网站首页>将二维数组方阵顺时针旋转90°
将二维数组方阵顺时针旋转90°
2022-06-24 19:28:00 【炎黄子孙__】
简介
网上有几篇描述这个算法的文章我感觉都不太直观。所以我干脆自己写一篇
图例
旋转如图所示,我把边标上序号了。
注意,方阵是绕左上角旋转顺时针90°
在程序当中我们只需要遍历1/4的部分
遍历这部分的每个元素的时候,都需要进行4步操作,这四步操作就是将4个元素位置进行交换。
交换的位置公式为:
- a[i][j] = a[n-j-1][i],通过这个公式可以计算后面四个的位置,将等式右侧变为等是左侧,然后把i,j看成变量求解等式右侧的索引
- a[n-j-1][i] = a[n-i-1][n-j-1]
- a[n-i-1][n-j-1] = a[n-(n-j-1)-1][n-i-1] = a[j][n-i-1]
- a[j][n-i-1] = a[n-(n-i-1)-1][j] = a[i][j]

代码
所以就有了如下的代码(C语言版本)
// 将方阵旋转90°
#define MAX 100
void Rotate(ElemType src[][MAX], int n)
{
ElemType temp;
int i, j;
for (i = 0;i < n / 2;i++) {
for (j = i;j < n - i - 1;j++) {
temp = src[i][j];
src[i][j] = src[n - j - 1][i];
src[n - j - 1][i] = src[n - i - 1][n - j - 1];
src[n - i - 1][n - j - 1] = src[j][n - i - 1];
src[j][n - i - 1] = temp;
}
}
}
边栏推荐
- suspense组件和异步组件
- memcached完全剖析–1. memcached的基础
- 【Camera基础(一)】Camera摄像头工作原理及整机架构
- TCP_ Nodelay and TCP_ CORK
- Functional analysis of ebpf tracepoint
- Ebpf XDP mount point analysis
- BPF_ PROG_ TYPE_ SOCKET_ Filter function implementation
- AntDB数据库在线培训开课啦!更灵活、更专业、更丰富
- Blender's landscape
- Football information query system based on C language course report + project source code + demo ppt+ project screenshot
猜你喜欢

socket done

去掉录屏提醒(七牛云demo)

LeetCode-513. 找树左下角的值

Handwritten RPC the next day -- review of some knowledge

Big factories go out to sea and lose "posture"

【Camera基础(一)】Camera摄像头工作原理及整机架构

Tutorial on obtaining JD cookies by mobile browser

memcached全面剖析–2. 理解memcached的內存存儲

Antdb database online training has started! More flexible, professional and rich

memcached全面剖析–5. memcached的应用和兼容程序
随机推荐
C语言实现DNS请求器
Make tea and talk about heroes! Leaders of Fujian Provincial Development and Reform Commission and Fujian municipal business office visited Yurun Health Division for exchange and guidance
03---增反膜
leetcode1720_2021-10-14
LeetCode-513. 找树左下角的值
Station B takes goods to learn from New Oriental
how to install clustershell
Alibaba cloud lightweight servers open designated ports
Bld3 getting started UI
Volcano becomes spark default batch scheduler
使用Adb连接设备时提示设备无权限
力扣每日一题-第26天-496.下一个更大元素Ⅰ
【吴恩达笔记】卷积神经网络
Intelligent fish tank control system based on STM32 under Internet of things
【论】A deep-learning model for urban traffic flow prediction with traffic events mined from twitter
TDengine可通过数据同步工具 DataX读写
[Web Security Basics] some details
Web project deployment
数据链路层 && 一些其他的协议or技术
socket(2)