Java排序算法

来源:互联网 发布:淘宝无线端营销 编辑:程序博客网 时间:2024/06/14 05:16

冒泡排序

冒泡排序算法的运作如下:

比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较

67  69  75  87  89  90  99  100  原数据69  75  87  89  90  99  100 67   第一次排序75  87  89  90  99  100 69  67   第二次排序   87  89  90  99  100 75  69  67   第三次排序    89  90  99  100 87  75  69  67   第四次排序   90  99  100 89  87  75  69  67   第五次排序   99  100 90  89  87  75  69  67   第六次排序100 99  90  89  87  75  69  67   第七次排序100  99  90  89  87  75  69  67  第八次排序
/**     * 冒泡排序     * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。       * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。       * 针对所有的元素重复以上的步骤,除了最后一个。     * 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。      * @param numbers 需要排序的整型数组     */    public static void bubbleSort(int[] numbers)    {        int temp = 0;        int size = numbers.length;        for(int i = 0 ; i < size-1; i ++)        {        for(int j = 0 ;j < size-1-i ; j++)        {            if(numbers[j] > numbers[j+1])  //交换两数位置            {            temp = numbers[j];            numbers[j] = numbers[j+1];            numbers[j+1] = temp;            }        }        }    }