标签:length 交换 rgs bubuko stat 次数 选择 min 假设
1.冒泡排序
/** * 冒泡排序 :比较两个相邻的元素 , 将值大的放到右边 * 原数字 : 6 3 8 2 9 1 比较次数 * 第一轮: 3 6 2 8 1 9 5 * 第二轮: 3 2 6 1 8 9 4 * 第三轮: 2 3 1 6 8 9 3 * 第四轮: 2 1 3 6 8 9 2 * 第五轮: 1 2 3 6 8 9 1 */ public class SortDemo{ public static int[] sort(int[] arr) { for(int i = 0 ; i < arr.length - 1 ; i ++ ) {//外层控制 比较的轮数 for(int j = 0 ; j < arr.length-1 - i; j++) {//内层控制每轮比较的次数 if(arr[j] > arr[j + 1]) { int temp = arr[j+1]; arr[j+1]=arr[j]; arr[j]=temp; } } } return arr; } public static void main(String[] args) { int[] arr = SortDemo.sort(new int[] {6 , 3, 8, 2, 9, 1}); for (int i : arr) { System.out.print(i + " "); } } }
2.选择排序:
public class SelectSort { public static int[] sort(int[] arr) { for(int i = 0 ; i <arr.length ; i ++) { //外层是被选择的元素 int min = i;//假设被选择的是最小的 for(int j = i +1; j <arr.length ; j ++) {//与其他元素依次进行比较 if(arr[min] > arr[j]) {//最小的比同它 比较的数大 , 那就是j比较小 , min = j; } } //然后比较出来的最小的 数 ,和 被选择的n交换位置 if(min != i) { int temp = arr[i]; arr[i] = arr[min]; arr[min] = temp; } for (int j : arr) { System.out.print(j + " "); } System.out.println(); } return arr; } public static void main(String[] args) { int[] arr = sort(new int[] {6 , 3, 8, 2, 9, 1}); for (int i : arr) { System.out.print(i +" "); } } }
标签:length 交换 rgs bubuko stat 次数 选择 min 假设
原文地址:https://www.cnblogs.com/Uzai/p/9698938.html