数组的倒置

来源:互联网 发布:商业银行的优势 知乎 编辑:程序博客网 时间:2024/05/29 16:32


数组到操作在实际的开发中用到得不多,但是数组作为java的一个很基础的知识,在很多的面试题当中都会被考到,那么今天我们就来说一说数组当中的倒置问题。


1.一维数组的倒置问题



我们观察上面的数组模型不难看出,要实现一维数组的倒序我们只需要更换数组[i]和数组[(length-1)-i]的位置。所有程序就可以这样实现:

package li.test;public class Test {public static void main(String[] args) {        int [] a=new int []{ 1,2,3,4,5,6,7,8,9};   //数组反转  int len=a.length-1;  for(int i=0;i<a.length/2;i++){  int temp=a[len-i];  a[len-i]=a[i];  a[i]=temp;    }  for(int i=0;i<=len;i++){  System.out.println(a[i]);  }  }        }

2.二维数组的倒序

观察二维数组的模型图


我们发现要对二维数组倒序 我们只需要保证中间轴不动(x==y)

代码实现:

package li.test;public class Test {public static void main(String[] args) {        int [ ][ ] a =new int [ ][ ] {{1,2,3},{4,5,6},{7,8,9}};    //倒置  for(int i=0;i<a.length;i++){  for(int j=i;j<a[i].length;j++){  if(i!=j){  int temp=a[i][j];  a[i][j]=a[j][i];  a[j][i]=temp;  }  }  }    //输出  for(int i=0;i<a.length;i++){  for(int j=0;j<a[i].length;j++){  System.out.print(a[i][j]);  }  System.out.println();  }  }        }








原创粉丝点击