排序之冒泡排序

冒泡排序:以从小到大排序为例,数据两两比较,如果大,则交换,大的数据右移。直到选出最大的数据,以此类推。

举例:3,2,7,8,6

第一轮:

  第一次:3和2比较,3>2,3和2交换。

  2,3,7,8,6

  第二次:3和7比较,没有交换。

  第三次:7和8比较,不交换。

  第四次:8和6比较,交换。8冒出来了!

  2,3,7,6,8

第二轮:

  第一次:2和3比较,不交换

  第二次:3和7比较,不交换

  第三次:7和8比较,交换。7冒出来了!

  2,3,6,7,8

第三轮:

  第一次:2和3比较,不交换。

  第二次:3和6比较,不交换。6冒出来了!

第四轮:

  第一次:2和3比较,不交换。3冒出来了!

写成代码:

  我们需要两个变量:i和j。i控制轮数,j控制次数。

public static void main(String[] args){
        int[] arr={3,2,8,5,6};
        int max=0;
        for(int i=0;i<arr.length-1;i++){
            for(int j=0;j<arr.length-1-i;j++){
                if(arr[i]>arr[i+1]){
                    max=arr[i];
                    arr[i]=arr[i+1];
                    arr[i+1]=max;
                }
            }
        }
        System.out.println(Arrays.toString(arr));
    }

 

 

posted on 2019-07-11 09:41  ByteSea  阅读(145)  评论(0)    收藏  举报