-
//选择排序 -
public static void selectSort(int[] arr){ -
for(int i=0; i<arr.length-1; i++){ -
for(int j=i+1; j<arr.length; j++){ -
if(arr[i]>arr[j]){ -
int temp=arr[i]; -
arr[i]=arr[j]; -
arr[j]=temp; -
} -
} -
} -
} -
-
//冒泡排序 -
public static void bubbleSort(int[] arr){ -
for(int i=0; i<arr.length-1; i++){ -
for(int j=0; j<arr.length-i-1; j++){ -
if(arr[j]>arr[j+1]){ -
int temp=arr[j]; -
arr[j]=arr[j+1]; -
arr[j+1]=temp; -
} -
} -
} -
} -
-
//插入排序 -
public static void insertSort(int[] arr){ -
for(int i=0; i<arr.length-1; i++){ -
int temp=arr[i]; -
while(i>0 && arr[i-1]>temp){ -
arr[i]=arr[i-1]; -
i--; -
} -
arr[i]=temp; -
} -
} -
//折半查找 -
public static int halfSearch(int[] arr, int key){ -
int min=0, max=arr.length-1, mid; -
while(min<=max){ -
mid=(min+max)>>1; -
if(key>arr[mid]){ -
min=mid+1; -
}else if(key<arr[mid]){ -
max=mid-1; -
}else -
return mid; -
} -
return min; -
}
排序,折半查找
最新推荐文章于 2022-12-22 21:11:57 发布