黑马程序员技术交流社区
标题:
关于冒泡排序
[打印本页]
作者:
yuhongzhen
时间:
2015-11-28 17:47
标题:
关于冒泡排序
其实冒泡排序并不难理解,就是两两比较,符合条件就交换位置,外层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;
}
}
}
作者:
传奇查
时间:
2015-11-28 19:22
本帖最后由 传奇查 于 2015-11-28 19:23 编辑
记住选择和冒泡的区别:
选择排序:用第一个位置的元素和后面所有的元素比!
冒泡排序:相邻两个元素之间做比较!
循环时:
选择排序:外层循环控制比较符左边的元素,内层循环控制比较符右边的元素.
如:if(arr(i)>arr(j)){...}
冒泡排序:外层循环控制循环次数,内层循环相邻元素互相比较,
如:if(arr[j]>arr[j+1]){...}
作者:
yuanjun52306
时间:
2015-11-28 19:57
传奇查 发表于 2015-11-28 19:22
记住选择和冒泡的区别:
选择排序:用第一个位置的元素和后面所有的元素比!
冒泡排序:相邻两个元素之间做比较 ...
学习了~~
作者:
yuhongzhen
时间:
2015-11-28 20:17
传奇查 发表于 2015-11-28 19:22
记住选择和冒泡的区别:
选择排序:用第一个位置的元素和后面所有的元素比!
冒泡排序:相邻两个元素之间做比较 ...
谢谢,分析的很到位,学习了
作者:
Rocky_zhang
时间:
2015-11-28 22:02
我也学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2