package L04; /** * 选择、冒泡、插入 排序 * */ public class Select_bubble_insert_sort_04 { public static void main(String[] args) { int arr[]={2,4,5,3,1}; insertionSort(arr); } /** * 插入排期 * @param arr */ public static void insertionSort(int[] arr){ if (arr == null || arr.length < 2) { return; } for (int i = 1; i < arr.length; i++) { for (int j = i - 1; j >= 0; j--) { // 当前位置和前一个位置比较 if (arr[j] > arr[j + 1]) { swap(arr, j + 1, j); } } } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + "-"); } } /** * 冒泡排序 * @param arr */ public static void bubbleSort(int[] arr) { if (arr == null || arr.length < 2) { return; } for (int i = 0; i < arr.length - 1; i++) { for (int j = i+1; j < arr.length; j++) { // 每次发现比前面小的数据 交换位置 if (arr[j] < arr[i]) { swap(arr, j, i); } } } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + "-"); } } /** * 选择排序 0-n 之间选择最小的进行交换位置 * @param arr */ public static void selectionSort(int[] arr) { if (arr == null || arr.length < 2) { return; } for (int i = 0; i < arr.length - 1; i++) { // minIndex 标记最小位 int minIndex = i; for (int j = i + 1; j < arr.length; j++) { // 和最小的对比,选择出最小的 if (arr[j] < arr[minIndex]) { minIndex = j; } } // 将最小的移到最前 swap(arr, i, minIndex); } for(int i=0;i<arr.length ;i++){ System.out.print(arr[i]+"-"); } } public static void swap(int[] arr, int i, int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } }
标签:minIndex,arr,int,++,插入,length,冒泡,排序,public From: https://www.cnblogs.com/Tonyzczc/p/18324663