冒泡排序BubbleSort

/**
 *冒泡排序:
 *    两个两个比较,一轮过后最大的排在了最后面
 *    n个数变为n-1个没排好的数
 *    再进行一轮
 *    第二大的排在了倒数第二个
 *    以此类推
 *    直到排到第一个为止
 *
 *    弄两个循环,相邻两个数比较
 */
public  class  BubbleSort
{
    /**
     *冒泡排序主方法
     *
     */
    public  static  void  bubbleSort(int[] resouceArr)
    {
        for(int i = 0 ; i <= resouceArr.length - 1 ; i++)
        {
            //数组下标是数组长度-1 , n-1个j,最后一个不能算所以还要-1
            //一趟排序完成后,数组大小减小1个,因为后面的已经排好序了。
            for(int j = 0 ; j <= resouceArr.length -1 - 1 - i ; j++)
            {
                if(resouceArr[j] > resouceArr[j+1])
                {
                    int temp = resouceArr[j];
                    resouceArr[j] = resouceArr[j+1];
                    resouceArr[j+1] = temp;
                }
            }
        }
    }

    public  static void  main(String[] args)
    {
        int[] bubbleArr = new int[]{1,3,6,2,7,9,5,8};
        bubbleSort(bubbleArr);
        for(int i : bubbleArr)
        {
            System.out.println(i);
        }
    }
}

 

posted @ 2013-11-04 18:49  天蓝印象  阅读(232)  评论(0编辑  收藏  举报