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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


6 个回复

正序浏览
冒泡排序是两个for循环完成的,外层for循环控制比较的遍数,内层for循环负责两两比较,符合条件的交换位置。public static void bubbleSort(int[] arr)
        {
                for(int x=0; x<arr.length-1; x++)//控制比较的遍数
                {
                        for(int y=0; y<arr.length-x-1; y++)//-x:让每次参与比较的元减。
                                                                                                //-1:避免角标越界。
                        {
                                if(arr[y]>arr[y+1])
                                {
                                        int temp = arr[y];
                                        arr[y] = arr[y+1];
                                        arr[y+1] = temp;
                                }
                        }
                }
}
回复 使用道具 举报
楼主,加油吧,好好看老师的视屏,自己再在本子上一步一步的画几遍
回复 使用道具 举报
这是舞蹈演示排序算法,比较形象。
http://pan.baidu.com/s/1i3fgoiL
回复 使用道具 举报
冒泡排序每次能找出当前排序中最大的数,相邻的两个数比较,找出大数,直至排序完毕
回复 使用道具 举报
sun4w 发表于 2015-11-25 11:47
可以先在本子上画一画,会好理解很多。

冒泡的思想就是,一个一个的去进行比较,如果第i位小于第i+1位,那 ...

多谢指导,刚开始学习java,基础知识不扎实
回复 使用道具 举报
可以先在本子上画一画,会好理解很多。

冒泡的思想就是,一个一个的去进行比较,如果第i位小于第i+1位,那么将他们的位置进行交换。

这样循环一遍后,我们能保证数组中的最后一位是最大的,对吧。

如此,反复执行这个过程,并且每次只需要排到上次排好的最后位置-1

---在本子上画一画就知道了。如果这个思想搞懂了,还看不懂程序的话,那就说明是java语句掌握的不够娴熟了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马