方阵顺时针旋转的实现代码

2016-02-19 09:18 3 1 收藏

下面是个超简单的方阵顺时针旋转的实现代码教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

【 tulaoshi.com - 编程语言 】

例如,如下的方阵:

 1  2  3  4
 5  6  7  8
 9 10 11 12

13 14 15 16

顺时针旋转,却是如下结果:

13  9  5  1
14 10  6  2
15 11  7  3
16 12  8  4

代码如下:

#include stdio.h
void rotate(int* x, int rank)
{
 int* y = (int*)malloc(sizeof(int) * rank * rank); 

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

 for(int i=0; irank * rank; i++)
 {
         // 以原第一行进行分析  一行数变为同一列  以原第一列为例,变为同一行。  (i%rank)*rank使列变为行   rank-(i/rank)-1) 使行变为列
  y[(i%rank)*rank+(rank-(i/rank)-1) ] = x[i]; 
 }

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

 for(i=0; irank*rank; i++)
 {
  x[i] = y[i];
 }

 free(y);
}

int main(int argc, char* argv[])
{
 int x[4][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
 int rank = 4;

 rotate(&x[0][0], rank);

 for(int i=0; irank; i++)
 {
  for(int j=0; jrank; j++)
  {
   printf("%4d", x[i][j]);
  }
  printf("n");
 }

 return 0;
}

来源:https://www.tulaoshi.com/n/20160219/1590316.html

延伸阅读
(效果如上图所示) 其实很简单: 比方说上面的容器是一个ListView 代码如下: ListView android:id="@+id/listView_devices" android:layout_width="fill_parent" android:layout_height="fill_parent" SPAN style="COLOR: #ff0000" android:background="@android:drawable/dialog_frame"/SPAN android:cacheColorHint="@color/tran...
标签: Web开发
兼容: opera 9.6 + chrome 2.0 + FF 3 + IE 6 效果:一边输入一边实现验证   环境:ruby 1.8.6 + rails 2.1.0 + windows 核心代码: html: 浏览器禁用javascript时显示提示信息: 代码如下: noscript div style="color:red"您的浏览器不支持javascript,部分功能无法使用/div /noscript 当浏览器禁用JS后,提交按钮不可用,实现客户...
标签: Web开发
实现方法: 代码如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head title浮动广告/title style type="text/css" #qqonline{ background-color:red; border:...
标签: Web开发
经过分析,网上的参考,终于搞定了~~ jQuery插件代码: 代码如下: jQuery.fn.selectItem = function(targetId) { var _seft = this; var targetId = $(targetId); this.toggle( function() { var A_top = $(this).offset().top + $(this).outerHeight(true); // 1 var A_left = $(this).offset().left; targetId.bgiframe(); targ...
标签: Web开发
在 Ajax 应用中,显示一个 Dialog(以 Div 方式显示)前,都会先建一个 Mask。因为经常会用到,所以写成了一个 jQuery 插件,方便自己的使用。 代码如下: (function($){ $.extend({ documentMask: function(options){ // 扩展参数 var op = $.extend({ opacity: 0.8, z: 10000, bgcolor: '#000' }, options); // 创建一个 Mask 层...

经验教程

870

收藏

21
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部