码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法Java实现(快速排序)

时间:2015-04-25 22:29:42      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:

 1 package sorting;
 2 
 3 /**
 4  * 快速排序
 5  * 平均O(nlogn),最好O(nlogn),最坏O(n^2);空间复杂度O(nlogn);不稳定;较复杂
 6  * @author zeng
 7  *
 8  */
 9 public class Kuaisupaixu {
10 
11     public static int sort(int[] a, int i, int j) {
12         int key = a[i];
13         while (i < j) {
14             while (i < j && a[j] >= key)
15                 j--;
16             a[i] = a[j];
17             while (i < j && a[i] <= key)
18                 i++;
19             a[j] = a[i];
20         }
21         a[i] = key;
22         return i;
23     }
24 
25     public static void quicksort(int[] b, int low, int high) {
26 
27         if (low < high) {
28             int pivotloc = sort(b, low, high);
29             System.out.println("pivotloc=" + pivotloc);
30             for (int i : b)
31                 System.out.print(i + " ");
32             System.out.println();
33             quicksort(b, low, pivotloc - 1);
34             quicksort(b, pivotloc + 1, high);
35         }
36 
37     }
38 
39     public static void main(String[] args) {
40         int[] b = { 49, 38, 65, 97, 76, 13, 27, 50 };
41         quicksort(b, 0, b.length - 1);
42 
43     }
44 }

 

排序算法Java实现(快速排序)

标签:

原文地址:http://www.cnblogs.com/zengzhihua/p/4456737.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!