黑马程序员技术交流社区
标题:
有会冒泡算法的小伙伴吗?
[打印本页]
作者:
sshh11
时间:
2015-10-30 20:27
标题:
有会冒泡算法的小伙伴吗?
请教各位大神,有会冒泡算法的指教偶以下。
作者:
_let'sgo
时间:
2015-10-30 20:39
视频教程有讲的哦
作者:
迷茫不堪的年纪
时间:
2015-10-30 20:57
看我的帖子吧 , 亲。 里面有的
作者:
JYcainiao
时间:
2015-10-30 21:18
冒泡就是相邻两个比较,找极端(Max or Min)的
作者:
迷茫不堪的年纪
时间:
2015-10-30 21:37
我的帖子里有,你可以去看一下
作者:
我若为神
时间:
2015-10-30 21:40
去看毕向东的视频
作者:
jyf823691221
时间:
2015-10-30 21:40
一句话就是把最大的往尾部移动
作者:
snnairow
时间:
2015-10-30 22:18
视频里面有,这个冒泡排序就是一种思想方式,并不是最优的。视频里面有的,毕老师讲的很细的
作者:
chm006
时间:
2015-10-30 22:50
/*
冒泡排序:它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来
第一轮:先比较第一和第二,然后判断是否交换,再比较第二和第三,一直比较到最后一位
(第一轮结束之后发现这组数的最后一位就是这组数的最值了(最大或者最小值))
第二轮:同第一轮比较一样,因为最后一个数已经是最值了,所以只要比较到倒数第二位数
之后以此类推...
*/
class BubbleSort
{
public static void main(String[] args)
{
int[] arr = {5,2,9,4,6,7,3,1,8};
for (int i=0; i<arr.length-1; i++)
{
for (int j=1; j<arr.length-i; j++)
{
if (arr[j-1] > arr[j]) //按照升序排列
{
//利用异或(^)让arr[i]和arr[j]的值换一下,也可以利用第三个变量来交换
arr[j-1] = arr[j-1] ^ arr[j];
arr[j] = arr[j-1] ^ arr[j];
arr[j-1] = arr[j-1] ^ arr[j];
}
}
}
for (int i=0; i<arr.length; i++)
{
System.out.print(arr[i]+",");
}
}
}
作者:
myworkspace
时间:
2015-10-30 23:04
public class BubbleSortDemo {
public static void main(String[] args) {
/*
* 选择排序
* 原理:
* 1.每次比较,相邻元素两两比较,将较大的元素换到后面,
* 这样一轮比较结束,最大值就跑到参与比较的元素最后面。
* 2.依次减小比较范围,重复步骤1,直到全部元素排序完毕。
*/
int[] arr = {12, 56, 43, 90, 32};
bubbleSort(arr);
for (int i : arr) {
System.out.print(i + " ");
}
}
public static void bubbleSort(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;
}
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2