快排class

public class SpeedSort {
 private int[] a; ui

 public void sort() {
  int begin = 0;
  int end = a.length - 1;
  quickSort(begin, end);
  for (int i : a) {
   System.out.print(i + " ");
  }
 } this

 private void quickSort(int begin, int end) {
  if (begin >= end) { get

  } else {
   int pivot = a[end];
   int result = getPivot(begin, end, pivot);
   quickSort(begin, result - 1);
   quickSort(result + 1, end);
  } class

 } sort

 private int getPivot(int begin, int end, int pivot) {
  begin = begin - 1;
  int o = end;
  while (true) {
   while (a[++begin] < pivot) { while

   }
   while (end > 0 && a[--end] > pivot) { return

   }
   if (begin >= end) {
    break;
   } else {
    swap(begin, end);
   }
  }
  swap(begin, o);
  return begin;
 } void

 private void swap(int begin, int end) {
  int t = a[begin];
  a[begin] = a[end];
  a[end] = t;
 }

 public int[] getA() {
  return a;
 }

 public void setA(int[] a) {
  this.a = a;
 }

}

相關文章
相關標籤/搜索