快排比较简单,就是设立参考值反复调用就可以
设立随机数进行排列
直接上代码
import javax.management.ValueExp;
import java.util.Arrays;
import java.util.Random;
public class QS {
public static int[] qsort(int arr[],int start,int end) {
int value = arr[start];//一个参照值,将小的放左边 大的放右边
int i = start;
int j = end;
while (i<j) {
while ((i<j)&&(arr[j]>value)) {
j--;
}
while ((i<j)&&(arr[i]<value)) {
i++;
}
if ((arr[i]==arr[j])&&(i<j)) {
i++;
} else {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
if (i-1>start) arr=qsort(arr,start,i-1);
if (j+1<end) arr=qsort(arr,j+1,end);
return (arr);
}
public static void main(String[] args) {
int arr[] = new int[10];
Random random = new Random();
for (int i = 0; i < arr.length;i++){
arr[i] = random.nextInt(50);
}
System.out.println("生成的随机数是:"+ Arrays.toString(arr));
int len = arr.length-1;
arr=qsort(arr,0,len);
System.out.println("快速排序后:");
for (int i:arr) {
System.out.print(i+"\t");
}
}
}