Java冒泡排序

来源:互联网 发布:t315hw04 vb 编辑:程序博客网 时间:2024/05/17 08:35

思想:10个数,升序排列。

从第一个数开始与后一个数比较,然后交换位置,较小值放前面,比较的次数为9,最大值就沉到了最后面一个数

比较九次之后又从第一个开始比较,比较的次数为a.lengh-i-1(a为数组,i为比较的第几次),第二个大的值到了倒数第二位。


如:3 4 5 1按从大到小排序

第一个轮回

4 3 5 1

4 5 3 1

4 5 3 1

第二个轮回

5 4 3 1

5 4 3 1

第三个轮回

5 4 3 1


public class Bubble {
    public static void main(String args[]){
        int a[]={3,4,1,5,8,2,9,10,6,7};

        int temp;//作为交换值的变量

        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]){
                    temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;//前一个数与后一个数比较大小,根据大小交换值。
                }
            }

        }

        //输出

        for(int i=0;i<a.length;i++){
            System.out.println(a[i]);
        }

    }

}

0 0