冒泡排序

/**
 * 
 * @author MrWang 冒泡排序
 */
public class BubblingSort {
    // 比较相邻的两个元素,如果第一个比第二个小(大),则交换它们的位置。
    //
    //     重复当前动作,直到排序完成
    //
    //     如:        3 , 5 , 2 , 7 , 9 , 6 , 4
    //
    //     第一次排序 3 , 2 , 5 , 7 , 6 , 4 , 9     (9沉到末排序尾部) 
    //
    //     第二次排序 2 , 3 , 5 , 6 , 4 , 7 , 9         (7沉到末排序尾部)    
    //
    //     第三次排序 2 , 3 , 5 , 4 , 6 , 7 , 9         (6沉到末排序尾部)
    //
    //     第四次排序 2 , 3 , 4 , 5 , 6 , 7 , 9         (5沉到末排序尾部,排序完成) 
    public static void bubbling_sort(String[] args) {
        int[] arr = new int[] { 3, 5, 2, 7, 9, 6, 4 };
        for (int i = 0; i < arr.length - 1; i++) {
            /**
             * 每一次排序都会确定当前最大元素的位置 -i 是为了节约资源 不需要再对已排序好的元素进行操作
             */
            for (int j = 0; j < arr.length - 1 - i; j++) {

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

                    int temp = arr[j];

                    arr[j] = arr[j + 1];

                    arr[j + 1] = temp;

                }

            }

        }

    }
}
原文地址:https://www.cnblogs.com/javaWHL/p/10272980.html