package Cap2_3;
import edu.princeton.cs.introcs.StdDraw;
import edu.princeton.cs.introcs.StdOut;
import edu.princeton.cs.introcs.StdRandom;
import Cap2_1.SortCompare;
import Cap2_1.SortTemplate;
public class Quick3way extends SortTemplate{
public static void sort(Comparable[] a){
StdRandom.shuffle(a);
sort(a, 0, a.length-1);
}
public static void sort(Comparable[] a, int lo, int hi){
if(hi <= lo) return;
int lt = lo, i = lo + 1, gt = hi;
Comparable v = a[lo];
while(i <= gt){
int cmp = a[i].compareTo(v);
if (cmp<0) exch(a, i++, lt++);
else if (cmp>0) exch(a, i, gt--);
else i++;
}
sort(a, lo, lt-1);
sort(a, gt+1, hi); //重复部分不用管了;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
StdDraw.setXscale(0, 3);
StdDraw.setYscale(-0.1, 5);
int cnt=0;
for(int N=100;N<=10000;N*=10){
算法 第四版 2.3.18
最新推荐文章于 2022-01-16 18:49:33 发布