package com.japher.j2se.sort;
public class BubbleSort
{
public static void main(String [] arg)
{
int [] src;
src = createRandom(8,0,100);
sort(src);
}
/** 冒泡排序,每趟都依次比较左右两个,从第一个到最后一个,每趟都是,共N-1趟即可,因为最差情况下完全倒序也只需要N-1次*/
public static void sort(int [] src)
{
int temp;
for(int num = 0 ; num<src.length-1;num++)
{
for(int i = 0 ; i< src.length-1;i++)
{
if(src[i]>src[i+1])
{
temp = src[i+1];
src[i+1] = src[i];
src[i]= temp;
}
}
System.out.println("loop" + (num+1)+":");
for(int element : src)
{
System.out.print(element+" ");
}System.out.print("\n");
}
}
public static int[] createRandom(int num,int start,int end)
{
if(start >end)
{
System.out.println("end value is bigger than start");
return null;
}
int [] des = new int[num];
for(int i = 0 ; i<num ; )
{
des[i] = (int)Math.round(Math.random()*(end - start)+start);
System.out.print(des[i]+" ");
if( ++i%10 ==0)
{
System.out.print('\n');
}
}
return des ;
}
}
结果:
31 82 94 38 93 93 52 86
loop1:
31 82 38 93 93 52 86 94
loop2:
31 38 82 93 52 86 93 94
loop3:
31 38 82 52 86 93 93 94
loop4:
31 38 52 82 86 93 93 94
loop5:
31 38 52 82 86 93 93 94
loop6:
31 38 52 82 86 93 93 94
loop7:
31 38 52 82 86 93 93 94
最后一趟是最终结果
其实冒泡排序主要依赖的是这样一个共识:比方10个数的话,我进行9次整理就能把它完全排序好,每次整理都从头到尾交换相邻的大小不符的两个,9次下来完全排序好。
分享到:
相关推荐
冒泡排序详解,简单而详细的讲清楚了,什么是冒泡排序。 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首...
java冒泡排序代码,亲测能用,控制台输入数据,自动排序
java 冒泡排序方法,java 冒泡排序方法。
java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档
java冒泡排序集锦方法!所有的方法都有!很不错的!希望对大家有帮助哈哈!
java 冒泡排序法 java 冒泡排序法
用java 编写的冒泡排序算法,并涵盖了冒泡排序算法的几种优化方式,以及在冒泡排序上的二分查找法。
//测试冒泡排序 /********************* * int[] num = {23,45,76,78,98,54,}; 第一次 23 45 76 78 54 98 第二次 23 45 76 54 78 98 第三次 23 45 54 76 78 98 输出 :23 45 54 76 78 98 当判断为正确时就退出...
从老师那弄的JAVA冒泡排序的一个讲解,不明白的可以好好看看哈
冒泡排序的详细讲解冒泡排序的详细讲解冒泡排序的详细讲解冒泡排序的详细讲解
* 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。
这个程序根据冒泡排序从大到小,从小到大的把数组里的元素进行了排序,程序思想很清晰
JAVA冒泡排序和快速排序算法,符合实验报告要求哦
1.冒泡排序的原理:每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是...
Java语言实现的冒泡排序算法,代码里头有详细注释,注释皆为简单英文,这个算法比较经典,欢迎新手下载学习使用,欢迎后期的学习交流!
java冒泡排序 代码为排序源代码 简洁明了 无其他
可以用java来得到冒泡排序的实现,由屏幕输入存入数组。
冒泡排序原理和JAVA实现,冒泡排序原理和JAVA实现
用java语言实现冒泡排序、插入排序、堆排序、快速排序、归并排序、希尔排序、桶排序,并且对各种排序算法进行性能的比较。
冒泡排序.txt