【基础排序】— 快速排序
2012-04-22 13:08
183 查看
一些大学学过的基础在这里总结一下
package base.sort; import java.util.Arrays; import java.util.Random; //O(nlogn) 快速排序 public class QuickSort { public static void main(String[] args) { QuickSort sort = new QuickSort(); int[] a = new int[32]; Random rand = new Random(); for (int i = 0; i < a.length; i++) { a[i] = (int) (rand.nextLong()%100); } System.out.println("start Array: " + Arrays.toString(a)); sort.sort(a,0,a.length); System.out.println("result Array: " + Arrays.toString(a)); } public void sort(int[] a,int m,int n){ if(m != n){ int i = partition(a,m,n); sort(a,m,i); sort(a,i+1,n); } } public int partition(int[] a,int m,int n){ int x = a[m]; int i = m; for(int j=i+1;j<n;j++){ if(a[j]<=x){ i = i+1; exchange(a,i,j); } } exchange(a,m,i); return i; } public void exchange(int[] a,int i,int j){ int temp = 0; temp = a[i]; a[i] = a[j]; a[j] = temp; } }
相关文章推荐
- 四基础排序算法:插入排序、选择排序、冒泡排序、快速排序
- 程序员面试宝典之数据结构基础----排序之快速排序(简单快速排序与改进快速排序)总结
- LintCode 463.整数排序 II [快速排序基础应用]
- 十大基础排序 · 四 --- 快速排序(不稳定)挖坑填补法+区间分割法+3种优化方法
- Java基础知识强化56:经典排序之快速排序(QuickSort)
- 基础排序算法之快速排序(Quick Sort)
- 基础排序算法之快速排序(Quick Sort)
- LeetCode基础-排序-快速排序
- 算法基础之排序—快速排序
- 基础之快速排序(霍尔排序)
- 算法基础之排序篇-快速排序
- 基础排序之快速排序
- 基础算法之排序--快速排序
- 基础算法--排序:之快速排序
- 【基础算法】排序-复杂排序之二(快速排序)
- PHP四种基础算法详解(冒泡排序、选择排序、插入排序、快速排序)
- php基础排序
- 图论之拓扑排序基础
- 基础排序:归并排序
- 基础算法——快速排序