package org.structure.sort;
/**
* 快速排序
* @author cjj_1
* @date 2020-08-13 14:17
*/
public class QuickSort {
public static void main(String[] args) {
int[] arr = {
-9,78,0,0,0,70};
quickSort(arr,0,arr.length-1);
print(arr);
}
/**
*快速排序
* @param arr
*/
public static void quickSort(int[] arr,int left,int right){
int middle_val= arr[(left+right)/2];
int l = left;
int r = right;
int temp;
while (l<r){
while ( arr[l]<middle_val)
l++;
while (arr[r]>middle_val)
r--;
if(l>=r)
break;
temp = arr[l];
arr[l] = arr[r];
arr[r] = temp;
if(arr[l] == middle_val)
l++;
if(arr[r] == middle_val)
r--;
}
if(l==r){
l++;
r--;
}
if(left<r){
quickSort(arr,left,r);
}
if(l<right){
quickSort(arr,l,right);
}
}
public static void print(int[] arr){
for (int i =0;i<arr.length;i++){
System.out.printf("%d\t",arr[i]);
}
}
}
快速查找
猜你喜欢
转载自blog.csdn.net/weixin_40128696/article/details/108055845
今日推荐
周排行