實現二維陣列的行列互換
#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陣列
- 二維陣列和稀疏陣列互轉陣列
- C/C++獲取二維陣列行列數C++陣列
- 報表如何實現行列互換效果?
- web 展現資料時如何實現行列互換Web
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- 二維陣列笛卡爾積js實現陣列JS
- js 一維陣列轉二維陣列JS陣列
- js 二維陣列轉一維陣列JS陣列
- 二維陣列陣列
- C# 一維陣列如何快速實現陣列元素的資料型別的轉換?C#陣列資料型別
- C/C++ 二維陣列的理解(多維陣列)C++陣列
- 最長公共子串 二維陣列 Go實現陣列Go
- PHP中二維陣列與多維陣列PHP陣列
- C#二維陣列在SLG中的實現和使用C#陣列
- 二維陣列排序陣列排序
- Java二維陣列Java陣列
- vector 二維陣列陣列
- C++容器巢狀實現動態二維陣列C++巢狀陣列
- 二維陣列的獲取陣列
- 求二維陣列中最大子陣列的和陣列
- php 二維陣列排序PHP陣列排序
- 二維陣列查詢陣列
- 二維樹狀陣列陣列
- 二維陣列行排序陣列排序
- 二維陣列練習陣列
- Java 二維陣列轉一維Java陣列
- 指標陣列和陣列指標與二維陣列指標陣列
- 二維陣列中的查詢陣列
- C的二維陣列(習題)陣列
- 二維陣列的指標的理解陣列指標
- 7-蛇形二維陣列陣列
- JAVA基礎--二維陣列Java陣列
- Kotlin建立二維Int陣列Kotlin陣列
- 二維陣列與指標陣列指標
- 資料結構實驗 多維陣列的實現資料結構陣列
- 【JZOF】二維陣列中的查詢陣列
- Spark實現行列轉換pivot和unpivotSpark