黑马程序员技术交流社区

标题: 将一个数组逆序输出 [打印本页]

作者: xiaogui    时间: 2016-5-11 22:42
标题: 将一个数组逆序输出
public class Test5 {

        /**
         *将一个数组逆序输出
         */
        public static void main(String[] args) {
                                int[] A = new int[]{1,2,3,4,5,6,7,8,9,};
                                print(A);
                                System.out.println();
                                int[] B = reverse(A);
                                print(B);
                        }
                        private static int[] reverse(int[] A){
                                for(int i=0;i<A.length/2;i++){
                                        int temp = A[A.length-i-1];
                                        A[A.length-i-1] = A[i];
                                        A[i] = temp;
                                }
                                return A;
                        }
                        private static void print(int[] A){
                                for(int i=0;i<A.length;i++)
                                  System.out.print(A[i]+" ");
                        }
}
这是数组逆序输出的一种方式,有其他方式可以交流一下,学习学习,谢谢。


作者: scalar    时间: 2016-5-11 23:06
我觉得如果只是要逆序输出的话,用一个for循环从A[A.length-1]打印到A[0]就行了。
当然如果要将原数组逆序,for循环里还可以这么写:
for(int i =0,j=A.length-1;i<=j;i++,j--)
{
          int temp = A[i];
          A[i]=A[j];
          A[j]=temp;
}
作者: 安东诺夫    时间: 2016-5-11 23:21
算法很巧妙两位是计算机专业的吧。这样做避免了开辟另一个数组浪费空间,时间复杂性空间复杂性会好很多呢,膜拜,粉了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2