如图对二维数组进行上图遍历
package test;
public class text1 {
public static void main(String[] args) {
int [][]a= {
{1,5,9,3,7},
{1,5,9,3,-7},
{1,5,9,3,7},
{1,5,9,3,7},
{1,5,9,3,7},
{1,5,9,3,7},
{1,5,9,3,7},
{1,5,9,3,7},
{-1,5,9,3,7}
};
int m=a.length;
int n=a[0].length;
int sum=m+n;
for(int i=0;i<n;i++) {
for(int j=0;j<=i;j++) {
System.out.print(a[j][i-j]);
}
}
for(int i=0;i<m-n;i++) {
for(int j=1+i,p=4;j<=n+i&&p>=0;j++,p--) {
System.out.print(a[j][p]);
}
}
for(int q=0;q<n-1;q++) {
for(int i=n-1,j=m-n+1;i>q&&j<m;i--,j++) {
System.out.print(a[m-j][i]);
}
}
}
}
首先对千五行五列进行倾斜遍历:

对中间进行遍历:
![]()
对后部进行遍历:
![]()
本文介绍了一种遍历二维数组的特殊算法,通过倾斜遍历的方式,将数组的元素按特定顺序输出。该算法首先处理数组的前部,接着遍历中间部分,最后处理数组的后部,实现了对数组元素的全面覆盖。

1660

被折叠的 条评论
为什么被折叠?



