冒泡的思想精髓就是数组中相临的两个数依次相比较,如果左边的数小于右边的数,就将两个数的位置交换,然后继续比较,如果不小于,则不做交换,跳出本次循环,继续用下一位置的数与相临的数做比较,依此类推下去。按这种规则找下去,每轮冒泡会将最小的数冒到最后面。如下代码即为降序冒泡法:
public class ArraySort1
{
public static void main(String[] args){
int [] a = new int[] {9,3,2,8,10,4,22};
for(int i = 0 ; i < a.length-1; i++){
for(int j = 0 ; j < a.length-i-1; j++){
if(a[j] < a[j+1]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
System.out.println("第"+(i+1)+"轮冒泡:");
for(int k = 0 ; k < a.length; k++){
System.out.print(a[k]+" ");
}
System.out.println();
}
}
}
输出结果:
H:\javase>java ArraySort1
第1轮冒泡:
9 3 8 10 4 22 2
第2轮冒泡:
9 8 10 4 22 3 2
第3轮冒泡:
9 10 8 22 4 3 2
第4轮冒泡:
10 9 22 8 4 3 2
第5轮冒泡:
10 22 9 8 4 3 2
第6轮冒泡:
22 10 9 8 4 3 2
二、升序冒泡写法:
public class ArraySort2
{
public static void main(String [] args){
int [] a = new int[]{11,55,12,22,58,28,99};
for(int i = 0 ; i < a.length-1; i++){
for(int j = 0 ; j < a.length-i-1; j++){
if(a[j]>a[j+1]){
int temp = a[j+1];
a[j+1] = a[j];
a[j] = temp;
}
}
System.out.println("第"+(i+1)+"次冒泡");
for(int k = 0 ; k < a.length; k++){
System.out.print(a[k]+" ");
}
System.out.println();
}
}
}
分享到:
相关推荐
java冒泡排序代码,亲测能用,控制台输入数据,自动排序
java 冒泡排序方法,java 冒泡排序方法。
java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档
java冒泡排序集锦方法!所有的方法都有!很不错的!希望对大家有帮助哈哈!
从老师那弄的JAVA冒泡排序的一个讲解,不明白的可以好好看看哈
冒泡排序的详细讲解冒泡排序的详细讲解冒泡排序的详细讲解冒泡排序的详细讲解
冒泡排序详解,简单而详细的讲清楚了,什么是冒泡排序。 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首...
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冒泡排序和快速排序算法,符合实验报告要求哦
Java语言实现的冒泡排序算法,代码里头有详细注释,注释皆为简单英文,这个算法比较经典,欢迎新手下载学习使用,欢迎后期的学习交流!
java冒泡排序 java冒泡排序 java冒泡排序
这个程序根据冒泡排序从大到小,从小到大的把数组里的元素进行了排序,程序思想很清晰
java冒泡排序,简洁而优雅的实现了冒泡排序的算法
图解详细分析,java冒泡排序、快速排序、二分查找
一个十分经典的java冒泡排序,界面实现.rar
* 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。
1.冒泡排序的原理:每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是...