public class Test{
/*
*数组的冒泡排序的实现
*/
*public class Test{
public static void main(String[] args){
int[] arr=new int[]{43,32,76,-98,0,64,33};
//冒泡排序
for (int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-1-j;j++){
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}*
//快速排序
快速排序是迄今为止所有内排序算法中速度最快的一种
之一。
public class QuickSort{
private static void swap(int[] data,int i,int j){
int temp = data[i];
data[i] = data[j];
data[j] = temp;
}
private static void subSort(int[] data,int start,int end){
if(start<end){
int base = data[start];
int low = start;
int high = end+1;
while(true){
while(low<end && data[++low] - base<=0);
while(high>start && data[--high] - base>=0);
if(low<high){
swap(data,low,high);
}else{
break;
}
}
swap(data,start,high);
subSort(data,start,high -1); //递归调用
subSort(data,high+1,end);
}
}
public static void quickSort(int[] data){
subSort(data,0,data.length-1);
}
}