Java实现之快速排序
2017-03-21 09:53
211 查看
package com.daxin; import java.util.Arrays; /** * * 快速排序 * * @author Daxin * */ public class QuickSort { /** * * @param array * 待排序数组 * @param start * 开始位置 * @param end * 结束位置 * @return */ public static int partition(int[] array, int start, int end) { // 固定的切分方式 int key = array[start]; while (start < end) { while (array[end] >= key && end > start) {// 从后半部分向前扫描 end--; } array[start] = array[end];//将后面扫描符合的结果放到前面位置上 while (array[start] <= key && end > start) {// 从前半部分向后扫描 start++; } array[end] = array[start];//将前面扫描符合的结果放到后面位置上 } array[end] = key;// key存储到最终的位置 return end; } public static void sort(int[] array, int start, int end) { if (start >= end) { return; } int index = partition(array, start, end); sort(array, start, index - 1); sort(array, index + 1, end); } public static void main(String[] args) { int[] arr = new int[] { 11, 6, 5, 6, 4, 9, 5, 3, 5, 9, 15 }; System.out.println(Arrays.toString(arr)); sort(arr, 0, arr.length - 1); System.out.println(Arrays.toString(arr)); } }
相关文章推荐
- 快速排序的JAVA实现
- JAVA排序算法实现代码-快速(Quick Sort)排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- java实现快速排序
- Java实现快速排序
- Java实现快速排序、归并排序、堆排序
- java实现的冒泡、选择、快速排序
- java实现快速排序
- 快速排序java实现
- 4、 排序有哪几种方法?请列举。并用JAVA实现一个快速排序.
- Java下实现快速排序
- Java实现排序(快速排序、冒泡排序、选择排序、基数排序、插入排序)
- 算法-快速排序-java实现
- Java分别实现冒泡排序、插入排序、快速排序、选择排序、交换排序
- 排序算法复习(Java实现)(二): 插入,冒泡,选择,Shell,快速排序
- 快速排序方法Java实现与分析
- 快速排序JAVA实现
- Java 常用排序算法实现--快速排序、插入排序、选择、冒泡
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,快速排序
- java(Merge) 实现归并排序,快速排序