矩阵的转置

对于的矩阵,使用两个指针变量,可以方便实现(i,j)处元素与(j,i)处元素交换位置。令指针Arow=&A[i][0],则Arow[j]可实现对第i行j列元素的访问。令指针Bptr=&A[0][i],则*Bptr就可以访问(0,i)处元素,然后,令Bptr+=M,就可访问同列不同行的元素。

代码实现

#define M 3

int A[3][3]={{1,2,3},{4,5,6},{7,8,9}};

void transpose(int A[M][M]);

void transpose(int A[M][M])

{

int i,j;

int t;

int *Arow;

int *Bptr;

for(i=0;i<M;i++)

{

Arow=&A[i][0];

Bptr=&A[0][i];

for(j=0;j<i;j++)

{

t=Arow[j];

Arow[j]=*Bptr;

*Bptr=t;

Bptr+=M;

}

}

}

void main()

{

int B[M][M];

int i,j;

for(i=0;i<M;i++) //把A矩阵元素存储在B矩阵中

for(j=0;j<M;j++)

B[i][j]=A[i][j];

transpose(A); //把A矩阵转置

}

运行结果

相关推荐
Fly Wine7 小时前
Leetcode之有效字母异位词
算法·leetcode·职场和发展
程序员夏末8 小时前
【LeetCode | 第七篇】算法笔记
笔记·算法·leetcode
csdn_aspnet9 小时前
C/C++ 两个凸多边形之间的切线(Tangents between two Convex Polygons)
c语言·c++·算法
数据皮皮侠9 小时前
中国城市间地理距离矩阵(2024)
大数据·数据库·人工智能·算法·制造
3GPP仿真实验室9 小时前
深度解析基站接收机核心算法:从 MRC 到 IRC 的空间滤波演进
算法
Boop_wu9 小时前
[Java 算法] 动态规划(1)
算法·动态规划
WolfGang0073219 小时前
代码随想录算法训练营 Day18 | 二叉树 part08
算法
TK云大师-KK9 小时前
TikTok自动化直播遇到内容重复问题?这套技术方案了解一下
大数据·运维·人工智能·矩阵·自动化·新媒体运营·流量运营
ryrhhhh10 小时前
多平台同步优化技术:矩阵跃动小陌GEO如何实现一次配置、全端搜索曝光
人工智能·线性代数·矩阵
hanlin0311 小时前
刷题笔记:力扣第43、67题(字符串计算)
笔记·算法·leetcode