zoukankan      html  css  js  c++  java
  • 快速排序

    概述

    快速的升序排列(注意边界)

    代码

    package com.lilei.myes.es.pack1114;
    
    import java.util.Random;
    
    public class quick_sort {
    
    	public static void main(String[] args) {
    		Random rand = new Random();
    
    		int[] array = new int[]{99, 55, 0, 89, 0, 8, 80, 19, 68, 61};
    
    		for (int i = 0; i < array.length; i++)
    			array[i] = rand.nextInt(100);
    
    		for (int v : array)
    			System.out.print(v + ",");
    
    		System.out.println();
    
    		sort(array, 0, array.length - 1);
    
    		for (int v : array)
    			System.out.print(v + ",");
    	}
    
    	static void sort(int[] array, int left, int right) {
    
    		if (left<right){
    			int mid = (left + right) / 2;
    			int value = array[mid];
    			
    			int p_left = left;
    			int p_right = right;
    			while(p_left < p_right){
    				while(p_left < p_right && array[p_left] < value)
    					p_left++;
    				while(p_right>= left && array[p_right] >= value)
    					p_right--;
    				
    				if (p_left < p_right){
    					int tmp = array[p_left];
    					array[p_left] = array[p_right];
    					array[p_right] = tmp;
    					p_left++;
    					p_right--;
    				}
    			}
    			
    			if(p_right< left){
    				array[mid] = array[left];
    				array[left] = value;
    				sort(array,left+1,right);
    			}else{
    				if (p_left == p_right){
    					if(array[p_left] >= value){
    						sort(array,left,p_left-1);
    						sort(array,p_left,right);
    					}else{
    						sort(array,left,p_left);
    						sort(array,p_left+1,right);
    					}
    				}else{
    					sort(array,left,p_right);
    					sort(array,p_left,right);
    				}
    			}
    		}
    	
    	}
    
    }
    

      

  • 相关阅读:
    [BZOJ2809][Apio2012]dispatching
    [BZOJ4584][Apio2016]赛艇
    [BZOJ3206][Apio2013]道路费用
    [codeforces551E]GukiZ and GukiZiana
    [BZOJ3809]Gty的二逼妹子序列
    [BZOJ3289]Mato的文件管理
    [BZOJ3052][UOJ#58][WC2013]糖果公园
    [SPOJ10707]Count on a tree II
    [BZOJ1086][SCOI2005]王室联邦
    python小知识
  • 原文地址:https://www.cnblogs.com/lilei2blog/p/7837408.html
Copyright © 2011-2022 走看看