• 快速排序


    快速排序的基本思想是:

    通过一趟排序将要排序的数据分割成独立的两部分——其中一部分的所有数据都比另外一部分的所有数据都要小,

    然后再按此方法对这两部分数据分别进行快速排序,

    整个排序过程可以递归进行,以此达到整个数据变成有序序列。

    关键值,交换,界限,递归

    关键字在一趟排序中会反复移动

    Java代码如下:

    package learn.leetcode.algorithm;
    
    import java.util.Arrays;
    import java.util.Random;
    
    public class QuickSort {
        public static void main(String[] args) {
            int[] arr = {6,2,8,7,3,6,9,1,8,9};
            Random ra = new Random();
            for (int i = 0; i < arr.length; ++i) {
                arr[i] = ra.nextInt(20);
            }
            System.out.println(Arrays.toString(arr));
            sort(arr, 0, arr.length - 1);
            System.err.println(Arrays.toString(arr));
        }
    
        public static void sort(int[] arr, int start, int end) {
            int left = start, right = end;
            if (left >= right) {
                return;
            }
    
    //        int flag = arr[start];
    
            while (left < right) {
                while (left < right && arr[left] <= arr[right]) right--;
                if (left < right) {
                    int temp = arr[left];
                    arr[left] = arr[right];
                    arr[right] = temp;
    
                    left++;
                }
                while (left < right && arr[left] <= arr[right]) left++;
                if (left < right) {
                    int temp = arr[left];
                    arr[left] = arr[right];
                    arr[right] = temp;
    
                    right--;
                }
            }
    //        flag = arr[left];
            sort(arr, start, left - 1);
            sort(arr, left + 1, end);
        }
    }
    View Code
  • 相关阅读:
    解决Too many connections问题
    TPCC-MySQL安装、使用及结果解读
    Spring事务配置
    【转】Spring事务介绍
    Spring AOP的实现原理
    Spring AOP的使用
    Spring整合Junit4进行单元测试
    Spring Bean定义的三种方式
    spring集成Redis(单机、集群)
    Redis搭建(五):Cluster集群搭建
  • 原文地址:https://www.cnblogs.com/orzt/p/11158524.html
Copyright © 2020-2023  润新知