quick sort

package tech.algorithms.sort;

import java.util.Random;

import java.util.Random;

public class QuickSort {  
	  
    public static void main(String[] args) {  
//         int[] array = { 13, 13, 13, 13, 13, 13, 13, 13, 13,13 };  
//         int[] array = { 13, 19, 9, 5, 1, 2, 8, 7, 4, 23, 2, 6, 11 };  
        int[] array = new int[10000];  
        Random r = new Random();  
        for (int i = 0; i < array.length; i++) {  
            array[i] = r.nextInt(100);  
        }  
        QuickSort qs = new QuickSort();  
  
        qs.sort(array, 0, array.length - 1);  
  
        for (int loopIndex = 0; loopIndex < array.length; loopIndex++) {  
            System.out.println(array[loopIndex]);  
        }  
    }  
  
    private void sort(int[] array, int bottom, int top) {  
        if (bottom < top) {  
            int divdePoint = partition(array, bottom, top);  
            sort(array, bottom, divdePoint - 1);  
            sort(array, divdePoint + 1, top);  
        }  
  
    }  
  
    private int partition(int[] array, int bottom, int top) {  
  
        int divideValue = array[top];  
  
        int i = bottom;  
        for (int loopIndex = bottom; loopIndex <= top; loopIndex++) {  
            if (array[loopIndex] < divideValue) {  
                int temp = array[loopIndex];  
                array[loopIndex] = array[i];  
                array[i] = temp;  
                i++;  
            }  
        }  
  
        int temp = array[top];  
        array[top] = array[i];  
        array[i] = temp;  
  
        return i;  
    }  
} 

你可能感兴趣的:(java,code,sort,Quicksort,algorithms)