代码图解冒泡排序算法

xiaoxiao2025-11-11  7

        冒泡排序       (选择排序,二分查找等算法请看我博客个人分类--算法)

        需求:把最大值放在倒数第一个位置

        冒泡排序原理: 相邻两个元素比较一次,符合条件的交换位置

 

class Demo2 { public static void main(String[] args) { int[] arr = {37,21,24,11,31}; //test(arr); bubbleSort(arr); System.out.println(Arrays.toString(arr)); } //冒泡排序 public static void bubbleSort(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]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } public static void test(int[] arr){ //最大的放在最后一位 for(int i = 0;i<arr.length-1;i++){ //比较当前元素与右边相邻元素 if(arr[i]>arr[i+1]){ int temp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = temp; } } //第二大的冒泡到倒数第二个位置 for(int i = 0;i<arr.length-1-1;i++){ if(arr[i]>arr[i+1]){ int temp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = temp; } } //第三大的冒泡到倒数第三个位置 for(int i = 0;i<arr.length-1-2;i++){ if(arr[i]>arr[i+1]){ int temp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = temp; } } //第四大的冒泡到倒数第四个位置 for(int i = 0;i<arr.length-1-3;i++){ if(arr[i]>arr[i+1]){ int temp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = temp; } } } }

 

转载请注明原文地址: https://www.6miu.com/read-5039433.html

最新回复(0)