黑马程序员技术交流社区

标题: 关于冒泡排序 [打印本页]

作者: 1294668228    时间: 2016-3-29 11:55
标题: 关于冒泡排序
public class 冒泡排序
{
        public static void main(String[] args)
        {
               
       
        int[] arr = {33,4,55,6,77};
            sort(arr);
            for(int a=0; a< arr.length;a++)
            {
                    System.out.println(arr[a]);
            }
        }
        public static void sort(int[] arr)
        {
       
                for(int i = 0;i<arr.length - 1;i++)
                {
                        for(int j = 0;j<arr.length - 1 - i;j++)
                        {
                                if(arr[j] > arr[j+1])
                                {
                                        int temp =arr[j];
                                        arr[j] = arr[j+1];
                                        arr[j+1] = temp;
                                }
                        }
                 }
        }
}
——————————————————————————————————
public class 冒泡排序
{
        public static void main(String[] args)
        {
               
       
        int[] arr = {33,4,55,6,77};
            sort(arr);
            for (int a : arr)
                {
                        System.out.println(arr[a]);
                }
        }
        public static void sort(int[] arr)
        {
       
                for(int i = 0;i<arr.length - 1;i++)
                {
                        for(int j = 0;j<arr.length - 1 - i;j++)
                        {
                                if(arr[j] > arr[j+1])
                                {
                                        int temp =arr[j];
                                        arr[j] = arr[j+1];
                                        arr[j+1] = temp;
                                }
                        }
                 }
        }
}
第二种方法出错了,第一种和第二种的唯一差别就在遍历数组的方法上,谁能告诉我为啥错,难道数组不能用增强for循环遍历吗?
作者: 蓝色小宇宙    时间: 2016-3-29 12:03
for (int a : arr)
                {
                        System.out.println(arr[a]);
                }

第二种方式里,a就是数组的元素.不是索引.直接 System.out.println(a);  就可以了,试试
作者: 1294668228    时间: 2016-3-29 13:31
蓝色小宇宙 发表于 2016-3-29 12:03
for (int a : arr)
                {
                        System.out.println(arr[a]);

懂了懂了 不用试了
作者: 武震震    时间: 2016-3-29 14:10
把索引搞混了吧




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