读书人

java排序算法1:快速排序

发布时间: 2012-11-08 08:48:11 作者: rapoo

java排序算法一:快速排序

部分内容摘自:http://zh.wikipedia.org/wiki/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F


java排序算法1:快速排序

快速排序步骤为:

  1. 从数列中挑出一个元素,称为 "基准"(pivot),
  2. 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。
  3. 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。

public class SortingTest {/** * @param args */public static void main(String[] args) {Integer[] srcArr = new Integer[100000];for (int i = 0; i < 100000; i++) {srcArr[i] = (int)(Math.random()*100000);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  }System.out.println(srcArr.length);long t1 = System.currentTimeMillis();Quicksort.sort(srcArr);long t2 = System.currentTimeMillis();System.out.println("");System.out.println("===================================="+(t2-t1));}}
?对10万数字数据排序,用了几十毫秒,这比起冒泡,选择,插入等排序效率高非常多。

读书人网 >编程

热点推荐