关于冒泡算法实现

首先冒泡算法就是每次把最大的找出来,冒泡出去,但是有2种不同实现。

第一:

public class Test12{

    public static void main(String[] args){/*

        int score[] = {67, 88, 45, 87, 29, 99, 109, 100};

        for (int i = 0; i < score.length -1; i++){    //最多做n-1趟排序

            for(int j = 0 ;j < score.length - i - 1; j++){    //对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的)

                if(score[j] > score[j + 1]){    //把小的值交换到后面

                    int temp = score[j];

                    score[j] = score[j + 1];

                    score[j + 1] = temp;

                }

            }           

            System.out.print("第" + (i + 1) + "次排序结果:");

            for(int a = 0; a < score.length; a++){

                System.out.print(score[a] + "\t");

            }

            System.out.println("");

        }

            System.out.print("最终排序结果  :");

            for(int a = 0; a < score.length; a++){

                System.out.print(score[a] + "\t");

      }

    */

        int[] score = {67, 88, 45, 87, 29, 99, 109, 100};

        bubblesort(score);

    }


第二种:

//===============冒泡排序---之最=====================================================

    public static void bubblesort(int[] arry){

        for(int i = 0;i < arry.length-1;i++){

            for(int j = arry.length-1;j > i;j--){

                if(arry[j]>arry[j-1]){

                    int temp = arry[j];

                    arry[j] = arry[j-1];

                    arry[j-1] = temp;

                }

            }

            System.out.print("第"+(i+1)+"次排序:");

            for (int i1 : arry) {

                System.out.print(i1 +" ");

            }

            System.out.println();

        }

    }

相关推荐