选择排序
实现逻辑:
选择排序是将当前元素和剩下的元素进行比较当当前元素大于所比较的元素的时候两个元素进行交换
java
public class Search {
// 选择排序
private void Serach() {};
public static <E extends Comparable <E> > void search(E[] arr) {
for(int i =0 ; i < arr.length;i++) {
int minxdata = i;
for(int j = i+1;j < arr.length;j++) {
if(arr[j].compareTo(arr[minxdata]) < 0 ) {
minxdata = j;
sawp(arr,i,minxdata);
}
}
}
}
private static <E> void sawp(E[] arr,int i, int j) {
E t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
插入排序
java
private AllAearch() {}
public static <E extends Comparable <E>> void allAearch(E[] arr) {
for(int j = i; j-1 >= 0; j--) {
if(arr[j].compareTo(arr[j-1]) < 0) {
sawp(arr,j,j-1);
}else {
break;
}
}
// 优化
E temp = arr[i];
int j ;
for( j = i ; j-1 >=0 && temp.compareTo(arr[j-1]) < 0;j--) {
arr[j] = arr[j-1];
};
arr[j] = temp;
}
};
private static <E> void sawp(E[] arr,int i, int j) {
E t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}