public class SortListq {
// 选择排序
public int[] selection(int[] arr) {
int len = arr.length;
for(int i=len-1;i>0;i--){
int j=0;
for(int k=1;k<=i;k++){
if(arr[k]>arr[j])j=k;
swap(arr, i, j);
}
}
return arr;
}
// 快速排序
public int[] quick(int[] arr,int k,int n) {
if(n<2) return null;
int pivot=arr[k];
int i=k;
int j=k+n;
while(i<j){
while(i+1<k+n&&arr[++i]<pivot);
while(arr[--j]>pivot);
if(i<j)swap(arr, i, j);
}
swap(arr, k, j);
quick(arr,k,j-k);
quick(arr,j+1,k+n-j-1);
return arr;
}
// 冒泡排序
public int[] bulb(int[] arr) {
int len = arr.length;
for (int i = len - 1; i > 0; i--) {
for (int j = 1; j <= i; j++) {
if (arr[j-1] > arr[j])
arr=swap(arr, j-1, j);
}
}
return arr;
}
// 插入排序
public int[] insertion(int[] arr) {
int len=arr.length;
for(int i=1;i<len;i++){
int temp=arr[i],j;
for(j=i;j>0&&arr[j-1]>temp;j--){
arr[j]=arr[j-1];
arr[j]=temp;
}
}
return arr;
}
// 交换位置
public int[] swap(int []arr,int i,int j) {
if(i==j){return null;}
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
return arr;
}
}
java基本排序笔记
最新推荐文章于 2024-12-11 12:03:17 发布