A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© xiaogui 中级黑马   /  2016-5-11 22:42  /  483 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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]+" ");
                        }
}
这是数组逆序输出的一种方式,有其他方式可以交流一下,学习学习,谢谢。

2 个回复

倒序浏览
我觉得如果只是要逆序输出的话,用一个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;
}
回复 使用道具 举报
算法很巧妙两位是计算机专业的吧。这样做避免了开辟另一个数组浪费空间,时间复杂性空间复杂性会好很多呢,膜拜,粉了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马