zoukankan      html  css  js  c++  java
  • 快速排序 Java实现的快速排序

    快速排序  Java实现的快速排序:

    package xc;
    
    import java.util.Arrays;
    import java.util.Random;
    
    /**
     * 
     * @author daxin
     * 
     * @email leodaxin@163com
     * 
     * @date 2017年9月25日 下午6:49:40
     * 
     */
    public class QuickSort {
    
        public static void main(String[] args) {
    
            for (int k = 0; k < 5; k++) {
                int[] nums = new int[10];
                Random rn = new Random();
                for (int i = 0; i < 10; i++) {
                    nums[i] = rn.nextInt(1000);
                }
                System.out.println("原来数组:" + Arrays.toString(nums));
                sort(nums, 0, nums.length - 1);
                System.out.println("排序数组:" + Arrays.toString(nums));
    
            }
        }
    
        /**
         * 
         * @param nums
         *            待排序数组
         * @param start
         *            起始index (0开始)
         * @param end
         *            结束index (0开始计数的结束index)
         */
        public static void sort(int[] nums, int start, int end) {
    
            if (end - start <= 0) {
                return;
            }
            int mid = partition(nums, start, end);
            sort(nums, start, mid);
            sort(nums, mid + 1, end);
        }
    
        public static int partition(int[] nums, int start, int end) {
    
            int key = nums[start];
            while (start < end) {
                while (nums[end] >= key && end > start)
                    end--;
                nums[start] = nums[end];
    
                while (nums[start] <= key && end > start)
                    start++;
                nums[end] = nums[start];
    
            }
            nums[end] = key;
    
            return end;
    
        }
    
    }
  • 相关阅读:
    几个函数小练习
    结构体和枚举类型
    结构体
    几个函数小练习
    函数简介
    网页端滚轮滑动事件
    碰撞检测
    Ajax前后台交互函数
    事件绑定与解除js
    移动端的屏幕适配问题
  • 原文地址:https://www.cnblogs.com/leodaxin/p/7593725.html
Copyright © 2011-2022 走看看