ITPub博客

首页 > Linux操作系统 > Linux操作系统 > JAVA快排实现 QuickSort

JAVA快排实现 QuickSort

原创 Linux操作系统 作者:cppsoldier 时间:2008-10-28 10:16:37 0 删除 编辑

package com.hb.quickSort;

public class QuickSort {

 public static void main(String[] args) {
  int a[] = new int[] { 12, 32, 51, 5, 5, 1, 6 };

  System.out.println("排序前:");
  for (int n = 0; n < a.length; n++) {
   System.out.print(a[n] + " ,");
  }

  QuickSort qs = new QuickSort();
  qs.quickSort(a, 0, a.length - 1);
  
  System.out.println("\n排序后:");
  for (int n = 0; n < a.length; n++) {
   System.out.print(a[n] + " ,");
  }
 }

 public void quickSort(int[] a, int low, int high) {
  int pivot = position(a,low,high);
  if(pivot>low+1)
   quickSort(a,low,pivot-1);
  if(pivot < high-1)
   quickSort(a,pivot+1,high);  
 }

 public int position(int[] a, int low, int high) {
  while (low < high) {
   while (low < high && a[high] >= a[low]) {
    high--;
   }
   if (a[high] < a[low]) {
    int temp = a[low];
    a[low] = a[high];
    a[high] = temp;
   }
   while (low < high && a[low] <= a[high]) {
    low++;
   }
   if(a[low] > a[high]){
    int temp = a[low];
    a[low] = a[high];
    a[high] = temp;
   }
  }
  return low;
 }
}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9474419/viewspace-478430/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Hanoi递归实现
下一篇: JAVA实现选择排序
请登录后发表评论 登录
全部评论

注册时间:2008-10-09

  • 博文量
    18
  • 访问量
    16448