冒泡排序
2016-10-10 14:24
183 查看
package sort; import java.util.Comparator; import java.util.List; public class Util { /** * Comparator * @param arr * @param comp */ public static <T> void sort(T[] arr,Comparator<T> comp){ int size=arr.length; for(int i=0;i<size-1;i++){ for(int j=0;j<size-i-1;j++){ if( comp.compare(arr[j], arr[j+1])>0){ T temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } } /** * 容器排序 * */ public static <T extends Comparable> void sort(List<T> list){ Object[] obj=list.toArray(); sort(obj); for(int i=0;i<obj.length;i++){ list.add((T)obj[i]); } } /** * 泛型排序 * @param arr */ public static <T extends Comparable<T>> void sort(T[] arr){ int size=arr.length; for(int i=0;i<size-1;i++){ for(int j=0;j<size-i-1;j++){ if( ((Comparable)arr[j]).compareTo(arr[j+1])>0){ T temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } } /** * object类型的排序 * @param arr */ public static void sort(Object[] arr){ int size=arr.length; for(int i=0;i<size-1;i++){ for(int j=0;j<size-i-1;j++){ if( ((Comparable)arr[j]).compareTo(arr[j+1])>0){ Object temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } } public static void sort(int[] arr){ int size=arr.length; for(int i=0;i<size-1;i++){ for(int j=0;j<size-i-1;j++){ if(arr[j]>arr[j+1]){ int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } } }