(4)Java实现快速排序
代码实现
import java.util.Arrays;
public class QuickSort {
public static void main(String[] args) {
int []array = {23,12,43,56,78,11,211,4};
QuickSort quickSor = new QuickSort();
quickSor.quickSort(array,0,array.length-1);
System.out.println(Arrays.toString(array));
}
public void quickSort(int[] array,int left,int right){
int l = left;
int r = right;
int temp = 0;
int point = array[(left+right)/2];
while (l < r){
while (array[l] < point){
l++;
}
while (array[r] > point){
r--;
}
if (l >= r){
break;
}
temp = array[l];
array[l] = array[r];
array[r] = temp;
if (array[l] == point){
r -= 1;
}
if (array[r] == point){
l += 1;
}
}
if (l == r){
l++;
r--;
}
if (left < r){
quickSort(array,left,r);
}
if (right > l){
quickSort(array,l,right);
}
}
}
实验截图·
“C:\Program Files\Java\jdk-9.0.4\bin\java.exe” “-javaagent:D:\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=8111:D:\IntelliJ IDEA 2019.3.3\bin” -Dfile.encoding=UTF-8 -classpath E:\daima\suanfa\out\production\算法练习 com.wllarl.suanfa.sort.QuickSort
[4, 11, 12, 23, 43, 56, 78, 211]
Process finished with exit code 0