标签:
几个维度相同的数组转置算法,这两种完全相同://注意:如果维度不同,转置会出错误,因为下标会越界。。。解决办法是把数组的维度调齐,或者是写到另一新数组中。
for(int i=0;i<row;i++)
for(int j=0;j<i;j++)
{
temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=temp;
}
-----------------------------------------
for(int i=0;i<row;i++)
for(int j=i;j<row;j++) //或者for(int j=row-1;j>i;j--) 都一样
{
temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=temp;
}
-----------------------------------------
当然还有效率低下的:
for(int i=0;i<row;i++)
for(int j<0;j<row;j++)
{
if(j<i)continue; ///或者if(j>i)continue; 因为是正矩形,所以大于小于都一样,都已经转换过一次了。
temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=temp;
}
标签:
原文地址:http://www.cnblogs.com/chukuang/p/5412102.html