程序人生  
我们站在同一起跑线上,让我们共同努力,共同奋进,愿您的人生因程序而美好!
日历
<2025年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789
统计
  • 随笔 - 0
  • 文章 - 38
  • 评论 - 8
  • 引用 - 0

导航

留言簿(2)

文章分类

文章档案

常用Web 站点

搜索

  •  

最新评论

 

package com.eruite.test;

public class QuickSort {
 /**
  * 快速排序
  *
  * @param arr
  * @param left
  * @param right
  */
 public void quickSort(int[] arr, int left, int right) {
  int middle, temp;
  int i, j;
  i = left;
  j = right;
  middle = arr[(i + j) / 2];
  do {
   // 找出左边比中间值大的数
   while (arr[i] < middle && i < right)
    i++;
   // 找出右边比中间值小的数
   while (arr[j] > middle && j > left)
    j--;
   // 将左边大的数和右边小的数进行替换
   if (i <= j) {
    temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
    i++;
    j--;
   }
  } while (i <= j); // 当两者交错时停止

  if (i < right) {
   quickSort(arr, i, right);// 从右边进行递归
  }
  if (j > left) {
   quickSort(arr, left, j);// 从左边进行递归
  }
 }

 /**
  * @param args
  */
 public static void main(String[] args) {
  int[] arr = { 11, 66, 22, 0, 55, 22, 0, 32 };
  QuickSort sort = new QuickSort();
  sort.quickSort(arr, 0, arr.length - 1);
  for (int i = 0; i < arr.length; i++) {
   System.out.print(arr[i] + " ");
  }
 }
}

posted on 2008-04-06 22:06 蔡华林 阅读(688) 评论(0)  编辑  收藏 所属分类: j2se
 
Copyright © 蔡华林 Powered by: 博客园 模板提供:沪江博客