import java.util.Arrays;
public class qsort {
/**
* @param args
*/
public int partition(int array[],int low,int high)
{
int key = array[low];
int temp=0;
while(low<high){
while(low<high&&array[high]>key)
high--;
temp=array[low];
array[low]=array[high];
array[high]=temp;
while(low<high&&array[low]<key)
low++;
temp=array[low];
array[low]=array[high];
array[high]=temp;
}
return low;
}
public void quickSort(int array[],int low,int high){
if(low<high){
int mid = partition(array,low,high);
quickSort(array,low,mid-1);
quickSort(array,mid+1,high);
}
}
public static void main(String[] args) {
qsort q = new qsort();
// TODO Auto-generated method stub
int a[] = {11,6,5,3,7,12,1,4,9,2,10,8,21};
q.quickSort(a,0,a.length-1);
System.out.println(Arrays.toString(a));
}
}
快速排序
最新推荐文章于 2024-09-12 15:56:42 发布
本文介绍了一个快速排序算法的具体实现过程,包括分区函数的详细逻辑及递归调用快速排序的方法。通过实例演示了如何对整型数组进行排序,并输出排序后的结果。
58万+

被折叠的 条评论
为什么被折叠?



