美文网首页
BubbleSort

BubbleSort

作者: 最爱水皮蛋 | 来源:发表于2016-12-06 10:56 被阅读0次

    思想:相邻元素两两排序,大值排后,直至第一轮结束
    排序前


    Paste_Image.png

    第一次交换


    Paste_Image.png
    第一轮最后
    Paste_Image.png
    第二轮重复

    Java实现其思想

    package sortingAlgo;
    
    import java.util.Arrays;
    import java.util.Random;
    
    /**
     * @author 水皮蛋
     * 相邻元素两两排序,大值排后,直至第一轮结束
     *
     */
    public class BubbleSort {
    
        public static void main(String[] args) {
            int[] arr = createRandomArray();
            System.out.println(Arrays.toString(arr));
            System.out.println(Arrays.toString(bubbleSort(arr)));
        }
    
        /**
         * 简单交换
         * @param arr
         * @return
         */
        public static int[] bubbleSort(int[] arr) {
            if (arr == null)
                throw new NullPointerException();
            int n = arr.length;
            if (!(n > 1))
                return null;
            for (int i = 0; i < n - 1; ++i) {
                for (int j = 0; j < n - i - 1; ++j) {
                    if (arr[j] > arr[j + 1]) {
                        int tmp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = tmp;
                    }
                }
            }
            return arr;
        }
    
        /**
         * 使用Random类产生随机数组的对象
         * 
         * @return 随机数组
         */
        public static int[] createRandomArray() {
            Random random = new Random();
            int[] array = new int[10];
            for (int i = 0; i < 10; i++) {
                array[i] = random.nextInt(100);
            }
            return array;
        }
    
    }
    

    相关文章

      网友评论

          本文标题:BubbleSort

          本文链接:https://www.haomeiwen.com/subject/tytrmttx.html