zoukankan      html  css  js  c++  java
  • 剑指offer第二版-总结:排序算法

    1.排序算法比较:

    2.java实现

    快排:

    /**
     * 快排
     * 
     * @since 2019年2月26日 下午1:37:34
     * @author xuchao
     */
    public class QuickSoft {
    
        public static void quickSoft(int[] data,int start,int end) {
            if(start>=end) {
                return;
            }
            int m = quickSoftPartition(data, start, end);
            quickSoft(data, start, m - 1);
            quickSoft(data, m + 1, end);
        }
    
        public static int quickSoftPartition(int[] data, int start, int end) {
    
            int base = data[start];
            int i = start, j = end;
            while (i < j) {
                while (i < j && data[j] >= base) {
                    j--;
                }
                while(i<j&& data[i]<=base) {
                    i++;
                }
                if(i<j) {
                    int t = data[i];
                    data[i] = data[j];
                    data[j] = t;
                }
            }
            data[start] = data[j];
            data[j] = base;
            return j;
        }
    
        public static void main(String[] args) {
            int[] data = { 5, 4, 3, 1, 2 };
            quickSoft(data, 0, data.length - 1);
            System.out.println(Arrays.toString(data));
        }
    }
  • 相关阅读:
    海量的数据的处理
    leetcode(135)分发糖果
    leetcode(130)被围绕的区域
    排序算法
    leetcode(956)最高的广告牌
    kafka的配置
    kafka命令行
    leetcode(76)最小覆盖子串
    Vue开发全解
    idea eclipse 设置代理
  • 原文地址:https://www.cnblogs.com/chao-zjj/p/10438891.html
Copyright © 2011-2022 走看看