----------------------Android培训、Java培训、期待与您交流! ----------------------
//自定义方法打印数组 public static void print(int[] arr){ for(int i=0;i<arr.length;i++) System.out.print(arr[i]+"\t"); } //自定义数组元素位置置换方法 private static void swap(int[] arr,int x,int y){ int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } //冒泡排序: public static void bubbleSort(int [] arr){ int len = arr.length; for(int i=0;i<len-1;i++){ for(int j=0;j<len-1-i;j++){ if(arr[j]>arr[j+1]){ swap(arr,j,j+1); } } } } //选择排序 public static void selectSort(int[] arr){ int len = arr.length; int min; for(int i=0;i<len-1;i++){ min = i; for(int j=i+1;j<len;j++){ if(arr[min]>arr[j]){ min = j; } } swap(arr,min,i); } } //插入排序 public static void insertSort(int[] arr){ int len = arr.length; for(int i=0;i<len;i++){ int temp = arr[i]; int j = i; while((j>0)&&(arr[j-1]>temp)){ arr[j] = arr[j-1]; j--; } arr[j] = temp; } } //快速排序 private static int partition(int[] arr,int low,int height) { int key = arr[low]; while (low<height){ while (low<height && arr[height]>=key){ height--; } arr[low] = arr[height]; while (low<height && arr[low]<=key){ low++; } arr[height] = arr[low]; } arr[low] = key; return low; } //快速排序,把下标为low到下标为height之间的元素进行排序 public static void quickSort(int[] arr,int low,int height){ if (low<height){ int result = partition(arr,low,height); quickSort(arr,low,result-1); quickSort(arr,result+1,height); } } //快速排序,将整个数组进行排序 public static void quick(int[] arr){ if (arr.length>0){ quickSort(arr,0,arr.length - 1); } }
----------------------Android培训、Java培训、期待与您交流! ----------------------