首页 > 代码库 > Java 快速排序
Java 快速排序
import java.util.Arrays;public class QuickSort { public static void quicksort(int[] array){ quicksort(array, 0, array.length); } public static void quicksort(int[] array, int low, int high) { if (low < high) { int pivot = partition(array, low, high); quicksort(array, low, pivot - 1); quicksort(array, pivot + 1, high); } } public static void swap(int[] array, int i, int j) { if (i == j) return; int temp = array[i]; array[i] = array[j]; array[j] = temp; } public static int partition(int[] array, int low, int high) { // 当前划分位置 int partition_position = low; // 中心轴 int pivot = array[partition_position]; for (int i = low + 1; i < high; i++) { if (array[i] < pivot) { partition_position++; swap(array, partition_position, i); } } swap(array, partition_position, low); return partition_position; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[] data = http://www.mamicode.com/new int[20]; for(int i=0;i<20;i++){ data[i]=(int)(Math.random()*100); } quicksort(data); System.out.print(Arrays.toString(data)); }}
执行结果:
[3, 10, 13, 3, 25, 27, 36, 40, 19, 43, 45, 50, 44, 54, 50, 58, 62, 63, 68, 94] -----重复时有问题
Java 快速排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。