實現二維陣列的行列互換
#include<stdio.h>
void fun( int*,size_t );
void swap( int*,int* );
void print( const int*,size_t,size_t );
int main( void )
{
int arr[][3]=
{
{1,2,3},
{4,5,6},
{7,8,9}
};
const size_t size=sizeof (arr)/sizeof (*arr);
fun(*arr,size);
print(*arr,size,size);
return 0;
}
void fun( int* arr,size_t size )
{
size_t i=0;
size_t j=1;
if (size==0)
return ;
for (;i!=size-1;++j!=size?1:(j=++i+1))
swap(arr+size*i+j,arr+size*j+i);
}
void swap( int* p,int* q )
{
const int t=*p;
*p=*q;
*q=t;
}
void print( const int* arr,size_t col,size_t row )
{
const size_t size=(col+1)*row;
size_t i;
for (i=0;i!=size;++i)
{
const size_t m=i%(row+1);
const size_t n=col*(i/col)+i%row-i/(row+1);
printf("%-4d\000\n"+5*(m==row),*(arr+n));
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70007056/viewspace-2840810/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java實現普通二維陣列和稀疏陣列的相互轉換Java陣列
- 二維陣列和稀疏陣列互轉陣列
- JavaScript二維陣列轉換成一維陣列JavaScript陣列
- C/C++獲取二維陣列行列數C++陣列
- 報表如何實現行列互換效果?
- c#簡單實現二維陣列和二維陣列列表List<>的轉置C#陣列
- 在Word中實現表格的行列互換 (轉)
- javascript如何實現二維陣列效果JavaScript陣列
- web 展現資料時如何實現行列互換Web
- 二維陣列笛卡爾積js實現陣列JS
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- javascript實現二維陣列實現簡單介紹JavaScript陣列
- 二維陣列陣列
- js 一維陣列轉二維陣列JS陣列
- js 二維陣列轉一維陣列JS陣列
- PHP二維陣列轉一維陣列PHP陣列
- C/C++ 二維陣列的理解(多維陣列)C++陣列
- 最長公共子串 二維陣列 Go實現陣列Go
- PHP中二維陣列與多維陣列PHP陣列
- JavaScript --二維陣列查詢一維陣列JavaScript陣列
- C# 一維陣列如何快速實現陣列元素的資料型別的轉換?C#陣列資料型別
- C#二維陣列在SLG中的實現和使用C#陣列
- vector 二維陣列陣列
- Java二維陣列Java陣列
- JavaScript二維陣列JavaScript陣列
- JavaScript 二維陣列JavaScript陣列
- Oracle行列互換總結Oracle
- oracle 行列互換總結Oracle
- C++容器巢狀實現動態二維陣列C++巢狀陣列
- Java 實現順時針螺旋二維陣列輸出Java陣列
- 二維陣列的計算陣列
- sql 實現表的行列轉換SQL
- sqlserver 行列互轉實現小結SQLServer
- C++動態建立二維陣列,二維陣列指標,以及動態二維陣列函式傳遞C++陣列指標函式
- 求二維陣列中最大子陣列的和陣列
- java之陣列的索引,排序以及二維陣列Java陣列索引排序
- 二維陣列查詢陣列
- php 二維陣列排序PHP陣列排序