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;
}
}
quick sort
最新推荐文章于 2024-08-12 15:45:48 发布