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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yuhongzhen 中级黑马   /  2015-11-28 17:47  /  748 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

其实冒泡排序并不难理解,就是两两比较,符合条件就交换位置,外层for控制循环次数。但是我老是忘,看一眼就会,过两天就忘。谁有更好好的理解思路,请指教。
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;
                                }
                        }
                }

5 个回复

倒序浏览
本帖最后由 传奇查 于 2015-11-28 19:23 编辑

记住选择和冒泡的区别:
选择排序:用第一个位置的元素和后面所有的元素比!
冒泡排序:相邻两个元素之间做比较!
循环时:
选择排序:外层循环控制比较符左边的元素,内层循环控制比较符右边的元素.
如:if(arr(i)>arr(j)){...}
冒泡排序:外层循环控制循环次数,内层循环相邻元素互相比较,
如:if(arr[j]>arr[j+1]){...}

点评

这个好,一下印象就深刻了  发表于 2015-11-29 20:35
回复 使用道具 举报 2 0
传奇查 发表于 2015-11-28 19:22
记住选择和冒泡的区别:
选择排序:用第一个位置的元素和后面所有的元素比!
冒泡排序:相邻两个元素之间做比较 ...

学习了~~
回复 使用道具 举报
传奇查 发表于 2015-11-28 19:22
记住选择和冒泡的区别:
选择排序:用第一个位置的元素和后面所有的元素比!
冒泡排序:相邻两个元素之间做比较 ...

谢谢,分析的很到位,学习了
回复 使用道具 举报
我也学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马