美文网首页
排序算法

排序算法

作者: RobertCrazying | 来源:发表于2018-02-24 14:39 被阅读9次

    前言

    在大学期间排序算法就是软件工程的入门课程,但是对于学习初期来说难度还是比较大的工作之后也很少接触这些算法容易遗忘,现在借此机会来记录一下方便以后查询。

    冒泡排序

        private static void bubbleSort() {
            int[] arr = {3434, 557, 3424, 46};
            for (int i = 0; i < arr.length - 1; i++) {
                for (int j = 0; j < arr.length - 1 - i; j++) {
                    if (arr[j] > arr[j + 1]) {
                        swap(arr, j, j + 1);
                    }
                }
            }
            Arrays.asList(arr);
            System.out.println(Arrays.toString(arr));
    
        }
    

    快速排序

          private static void quickSort(int[] arr, int start, int end) {
            int low = start;
            int high = end;
            int base = arr[end];
            while (start < end) {
                while (start < end && arr[start] <= base) {
                    start++;
                }
                if (start < end) {
    
                    swap(arr, start, end);
                }
                while (start < end && arr[end] >= base) {
                    end--;
                }
                if (start < end) {
    
                    swap(arr, start, end);
                }
            }
            if (start > low) {
                quickSort(arr, low, start - 1);
            }
            if (end < high) {
                quickSort(arr, end + 1, high);
            }
        }
    

    快排记忆趣图


    image.png

    相关文章

      网友评论

          本文标题:排序算法

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