public class Sort1207 {
public static void main(String[] args) {
int[] nums = {5, 8, 6, 3, 9, 2, 1, 7};
bubbleSort(nums);
System.out.println(Arrays.toString(nums));
}
public static void bubbleSort(int[] data){
//冒泡的轮次,总共是有data.length - 1轮冒泡
for(int i=0;idata[j+1]){
data[j] = data[j] + data[j+1];
data[j+1] = data[j] - data[j+1];
data[j] = data[j] - data[j+1];
sortFlag =true;
}
}
if(!sortFlag){
break;
}
}
}
}
public static void quickSortTest(int[] nums,int start ,int end){
if(start >= end){
return ;
}
int provite = provite(nums,start,end);
quickSortTest(nums,start,provite-1);
quickSortTest(nums,provite+1,end);
}
private static int provite(int[] nums, int start, int end) {
int left = start;
int provite = nums[start];
while(start!=end){
while(startprovite){
end--;
}
while(start
//快速排序(单边循环法)
private static void quickSort2Test(int[] arr, int start, int end) {
if(start >= end){
return ;
}
int pivot = pivot(arr,start,end);
quickSort2Test(arr,start,pivot-1);
quickSort2Test(arr,pivot+1,end);
}
private static int pivot(int[] arr, int start, int end) {
int pivod = arr[start];
int mark = start;
for(int i=start+1;i<=end;i++){
if(arr[i]
//计数排序
private static int[] countSort(int[] arr,int offset){
int[] tempArr = new int[arr.length];
for(int i = 0;i
private static double[] bucketSort(double[] arr){
ArrayList> buckets =new ArrayList<>(arr.length);
for (int i = 0; i < arr.length; i++) {
buckets.add(new linkedList());
}
double max = arr[0];
double min = arr[0];
for(int i = 0;i arr[i]){
min = arr[i];
}
}
double d = max - min;
for(int i=0;i itemList= buckets.get(i);
for(Double item:itemList){
res[index++] = item;
}
}
return res;
}