选择排序
实现逻辑:
选择排序是将当前元素和剩下的元素进行比较当当前元素大于所比较的元素的时候两个元素进行交换
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;}
}
插入排序
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;}