//冒泡排序
public static void ISort(int []arr){
for (int i = 1;i<arr.length;i++){
boolean flag = true;
for (int j =0;j<arr.length-i;j++){
if(arr[j]>arr[j+1]){
arr[j] ^= arr[j+1];
arr[j+1]^=arr[j];
arr[j] ^= arr[j+1];
flag = false;
}
}
if (flag){
break;
}
}
}
//选择排序
public static void ISort(int []arr){
for (int i=0;i<arr.length-1;i++){
int min =i;
for (int j=i+1;j<arr.length;j++){
if (arr[j]<arr[min]){
min=j;
}
}
if (min!=i){
arr[i] ^= arr[min];
arr[min]^=arr[i];
arr[i] ^= arr[min];
}
}
}
//插入排序
public static void ISort(int []arr){
for (int i=1;i<arr.length;i++){
int tmp =arr[i],j=i;
for (;j>0&&tmp<arr[j-1];j--){
arr[j]=arr[j-1];
}
if (j!=i){
arr[j]=tmp;
}
}
}
//希尔排序
public static void ISort(int []arr){
int gap = 1;
while (gap<arr.length){
gap=gap*4+1;
}
while (gap>0){
for (int i = gap;i<arr.length;i++){
int tmp =arr[i],j=i-gap;
while (j>=0&&arr[j]>tmp){
arr[j+gap]= arr[j];
j-=gap;
}
arr[j+gap] = tmp;
}
gap=(int)Math.floor(gap/4);
}
}
Java中的几种简单的数组排序
最新推荐文章于 2021-03-09 16:20:13 发布