矩阵的转置

对于的矩阵,使用两个指针变量,可以方便实现(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矩阵转置

}

运行结果

相关推荐
lang201509283 分钟前
Sentinel黑白名单授权控制详解
java·算法·sentinel
小O的算法实验室13 分钟前
2023年IEEE TIV,GA-LNS算法+直升机救援调度,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
foundbug99917 分钟前
Delta并联机器人正逆解实现
算法·机器人
职业码农NO.129 分钟前
《算法与数据结构》:最短路径
数据结构·算法
Ayanami_Reii30 分钟前
进阶数据结构Splay应用-维护数列
数据结构·算法·splay·fhq
是小胡嘛37 分钟前
仿Muduo高并发服务器之Buffer模块
开发语言·c++·算法
琢磨先生David38 分钟前
Java算法题:移除数组中的重复项
java·数据结构·算法
im_AMBER42 分钟前
Leetcode 75 数对和 | 存在重复元素 II
c++·笔记·学习·算法·leetcode
九河云1 小时前
直播电商数字化:用户行为 AI 分析与选品推荐算法平台建设
人工智能·物联网·算法·推荐算法
CoovallyAIHub1 小时前
深大团队UNeMo框架:让机器人学会“预判”,效率提升40%
深度学习·算法·计算机视觉