每日一练:java实现冒泡排序

根据网上对于冒泡排序的讲解,我的理解就是每次找到数组最大的元素放到最后一个位置,比方有6个数,我们只需要找5次,因为找到次小的,最小的就无需再遍历;那如何把最大的元素放到最后一个位置是通过数组元素的交换来实现的,下面是代码实现:

public class Test{
    //定义一个冒泡排序的发放
    public void sort(int[] arr)
    {
        int temp;
        //定义一个双重循环,外重循环标识总共循环多少趟
        for(int i=0;i<arr.length-1;i++)
        {
            //内重循环标识每次交换多少次
            for(int j=0;j<arr.length-i-1;j++)
            {
                if(arr[j]>arr[j+1])
                {
                    temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
    }
    public static void main(String[] args){
    Test t =new Test();
    int[] arr={12,45,6,8,20,1};
    System.out.println("冒泡排序前的数组依次打印如下:");
    for(int i:arr)
    {
        System.out.print(i+"    ");
    }
    System.out.println();
    t.sort(arr);
    System.out.println("冒泡排序后的数组依次打印如下:");
    for(int i:arr)
    {
        System.out.print(i+"    ");
    }
    System.out.println();
    }
}

 

posted @ 2018-09-19 09:05  RayChou1995  阅读(110)  评论(0编辑  收藏  举报