public class BubboUtil {
private BubboUtil(){}
public static <E extends Comparable<E>> void sort(E[] arr){
for (int i = 0; i < arr.length - 1; i++) {
for(int j=0; j + 1 < arr.length - i;j++){
if(arr[j].compareTo(arr[j+1]) > 0){
swap(arr,j,j+1);
}
}
}
}
private static <E extends Comparable<E>> void swap(E[] arr, int j, int i) {
E temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
public static <E extends Comparable<E>> void sort1(E[] arr){
for (int i = 0; i + 1 < arr.length; i++) {
boolean isSwap = false;
for (int j = 0; j + 1 < arr.length - i; j++) {
if(arr[j].compareTo(arr[j+1]) > 0){
swap(arr,j,j+1);
isSwap = true;
}
}
if(!isSwap){
break;
}
}
}
public static <E extends Comparable<E>> void sort2(E[] arr){
for (int i = 0; i + 1 < arr.length;) {
int isSwapCount = 0;
for (int j = 0; j + 1 < arr.length - i; j++) {
if(arr[j].compareTo(arr[j+1]) > 0){
swap(arr,j,j + 1);
isSwapCount = j + 1;
}
}
i = arr.length - isSwapCount;
}
}
算法与数据结构——冒泡排序
于 2023-03-04 14:05:43 首次发布