选择排序和插入排序
2013-01-31 17:08 Polarisary 阅读(160) 评论(0) 编辑 收藏 举报1 /** 2 * 选择排序 3 * @param arr 待排数组 4 */ 5 public static void selectSort(int[] arr){ 6 int n = arr.length; 7 for(int i=0;i<n;i++){ 8 int min = i; 9 for(int j=i+1;j<n;j++){ 10 if(arr[j]<arr[min]) 11 min = j; 12 } 13 ex(arr,i,min); 14 } 15 } 16 17 /** 18 * 插入排序 19 * @param arr 待排数组 20 */ 21 public static void insertSort(int[] arr){ 22 int n = arr.length; 23 for(int i=1;i<n;i++){ 24 for(int t=i;t>0&&arr[t]<arr[t-1];t--){ 25 ex(arr,t,t-1); 26 } 27 } 28 } 29 30 private static void ex(int[] arr,int index1,int index2){ 31 int tmp = arr[index1]; 32 arr[index1] = arr[index2]; 33 arr[index2] = tmp; 34 }