快速排序

来源:互联网 发布:手机移动数据打不开 编辑:程序博客网 时间:2024/05/17 04:41
 

package cn.com.zyt;
/**
*This program is able to sort an array using quickSort method
*Program Name:QuickSort.java
*@author: zyt_allen
*@version:1.0
*/

public class QuickSort
{
 public static void main(String[] args)
 {
  int[] intArr={3,2,4,5,8,7,6,9,1,5};
  //int[] intArr={1,2,3,4,5,5,6,7,8,9};
  //int[] intArr={9,8,7,6,5,5,4,3,2,1};
  quickSort(intArr,0,intArr.length-1);
  for(int i=0;i<intArr.length;i++)
  {
   System.out.print(intArr[i]+" ");
  }
 }
 
 private static void quickSort(int[] intArr,int lowPoint,int hightPoint)
 {
  if(lowPoint<hightPoint)
  {
    int low=lowPoint;
    int hight=hightPoint;
    int key=intArr[low];

    while(low<hight)
    {
     while(key<=intArr[hight] && low<hight)
     {
      hight--;
     }
     intArr[low]=intArr[hight];
     
     while(intArr[low]<=key && low<hight)
     {
      low++;
     }
     intArr[hight]=intArr[low];
    }
    
    int mid=hight;
    intArr[mid]=key;
    
    quickSort(intArr,lowPoint,mid-1);
    quickSort(intArr,mid+1,hightPoint);
   }
  
 }
}

原创粉丝点击