冒泡排序

2018-12-14  本文已影响0人  灵魂歌手麦克李

冒泡排序

概括:

成员之间两两比较,大的在后,小的在前,直到最大值放在最后面,最大值不参与下次比对,重复以上步骤。直到从小到大有序。

场景分析:

2,4,5,3,1

    ↑    ↑

成员之间两两比较

小数在前,大数在后

    ↓    ↓

2,4,3,5,1

2,4,3,1,5

直到最大值放在最后面,

最大值不参与下次比对    

2,4,3,1

2,3,4,1

2,3,1,4

2,3,1

2,1,3

2,1

1,2

1,2,3,4,5

重复以上步骤。直到从小到大有序。

JAVA实现

package Sorts;

public class BubbleSort {

        public static void main(String[] args) {

                int[] array  = {5,4,3,2,1} ;

                bubbleSort(array);

        }

        public static void bubbleSort(int[] array) {

            int temp = 0 ;

            //重复以上步骤。直到从小到大有序。

            for (int i = array.length - 1; i > 0 ; i--) {

                //直到最大值放在最后面,最大值不参与下次比对

                for (int j = 0; j < i; j++) {

                        //成员之间两两比较,

                        //        ↓↓↓

                        if(array[j]>array[j+1]) {

                         //大的在后,小的在前,               

                                temp = array[j];

                                array[j] = array[j+1];

                                array[j+1] = temp;

                        }

                }

        }

        for (int i = 0; i < array.length; i++) {

                System.out.print(array[i]+", ");

        }

    }

}

上一篇 下一篇

猜你喜欢

热点阅读