欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

方陣順時針旋轉(zhuǎn)的實(shí)現(xiàn)代碼

 更新時間:2013年05月08日 15:53:31   作者:  
以下是關(guān)于方陣順時針旋轉(zhuǎn)的實(shí)現(xiàn)代碼。需要的朋友參考下

例如,如下的方陣:

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

13 14 15 16

順時針旋轉(zhuǎn),卻是如下結(jié)果:


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

復(fù)制代碼 代碼如下:

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

 for(int i=0; i<rank * rank; i++)
 {
         // 以原第一行進(jìn)行分析  一行數(shù)變?yōu)橥涣?nbsp; 以原第一列為例,變?yōu)橥恍小?nbsp; (i%rank)*rank使列變?yōu)樾?nbsp;  rank-(i/rank)-1) 使行變?yōu)榱?BR>  y[(i%rank)*rank+(rank-(i/rank)-1) ] = x[i]; 
 }

 for(i=0; i<rank*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; i<rank; i++)
 {
  for(int j=0; j<rank; j++)
  {
   printf("%4d", x[i][j]);
  }
  printf("\n");
 }

 return 0;
}


相關(guān)文章

  • C語言基礎(chǔ)雙指針移除元素解法

    C語言基礎(chǔ)雙指針移除元素解法

    這篇文章介紹了C語言基礎(chǔ)雙指針移除元素的解法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • C++基于CMD命令行實(shí)現(xiàn)掃雷小游戲

    C++基于CMD命令行實(shí)現(xiàn)掃雷小游戲

    這篇文章主要為大家詳細(xì)介紹了C++基于CMD命令行實(shí)現(xiàn)掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 7種排序算法的實(shí)現(xiàn)示例

    7種排序算法的實(shí)現(xiàn)示例

    這篇文章主要介紹了7種排序算法的實(shí)現(xiàn)示例,需要的朋友可以參考下
    2014-05-05
  • C語言三個數(shù)排列大小的實(shí)現(xiàn)方法

    C語言三個數(shù)排列大小的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄狢語言三個數(shù)排列大小的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • C++多線程傳參的實(shí)現(xiàn)方法

    C++多線程傳參的實(shí)現(xiàn)方法

    本文主要介紹了C++多線程傳參的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • C++ 整數(shù)拆分方法詳解

    C++ 整數(shù)拆分方法詳解

    整數(shù)拆分,指把一個整數(shù)分解成若干個整數(shù)的和。本文重點(diǎn)給大家介紹C++ 整數(shù)拆分方法詳解,非常不錯,感興趣的朋友一起學(xué)習(xí)吧
    2016-08-08
  • QT線程QThread的使用介紹

    QT線程QThread的使用介紹

    在進(jìn)行桌面應(yīng)用程序開發(fā)的時候,假設(shè)程序在某些情況要處理復(fù)雜邏輯, 如果一個線程去處理,就會導(dǎo)致窗口卡頓,無法處理用戶操作。這就需要使用多線程,其中一個線程處理窗口事件,其他線程進(jìn)行邏輯運(yùn)算,多個線程各司其職,不僅可以提高用戶體驗(yàn)還可以提升程序的執(zhí)行效率
    2022-09-09
  • C++在成員函數(shù)中使用STL的find_if函數(shù)實(shí)例

    C++在成員函數(shù)中使用STL的find_if函數(shù)實(shí)例

    這篇文章主要介紹了C++在成員函數(shù)中使用STL的find_if函數(shù)實(shí)例,包括了STL中find_if函數(shù)的具體用法及相關(guān)的完整實(shí)例,非常具有參考借鑒價值,需要的朋友可以參考下
    2014-10-10
  • C++11中的智能指針和垃圾回收使用

    C++11中的智能指針和垃圾回收使用

    本文主要介紹了C++11中的智能指針和垃圾回收使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • c++中的system(

    c++中的system("pause")的作用和含義解析

    這篇文章主要介紹了c++中system("pause")的作用和含義,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2018-03-03

最新評論