排序——冒泡排序

来源:互联网 发布:赚钱最快软件 编辑:程序博客网 时间:2024/05/29 12:09

设数组长度为N,从小到大排序。

1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。

2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。

3.N=N-1,如果N不为0就重复前面二步,否则排序完成。

public class 冒泡排序 {    public static void main(String[] args) {        int []arr={9,5,2,10,7,5,4,3,8,9,8,2,4};        maopao(arr);        print(arr);    }    static void maopao(int[]a){        boolean bool=false;//设置一个标志,如果这一趟发生了交换,则为false,否则为true。没交换说明排序已经完成。        while(bool==false){            bool=true;            for (int i = 0; i < a.length; i++) //遍历数组的次数是数组的长度                for (int j = 0; j <a.length-i-1; j++) //遍历从0开始,每遍历一次,最大值移到数组末尾,遍历长度减一。                    if (a[j]>a[j+1]) {                        int temp=a[j];                        a[j]=a[j+1];                        a[j+1]=temp;                        bool=false;            }        }    }    static void print(int a[]){        for (int i : a) {            System.out.print(i+" ");        }    }}
1 0
原创粉丝点击