冒泡排序

假设一维数组的长度为n,需要进行n-1轮排序(循环次数为n-1次)

每次循环。从左到右,将相邻的两个元素进行比较,如果前面的比后面的小,交换两个元素的值,第i次循环(i从1开始记),需要进行n-i次比较(可以使用子循环来实现)


 1 package com.wh.array;
 2 
 3 import java.util.Arrays;
 4 
 5 public class Demo {
 6     public static void main(String[] args) {
 7         int[] arr = new int[10];
 8         for (int i=0; i < arr.length; i++) {
 9             arr[i] = (int) (Math.random() * 100);
10         }
11         System.out.println("排序前:"+Arrays.toString(arr));
12         
13         for(int i=0;i<arr.length;i++){          //趟数
14 
15               for(int j=0;j<arr.length-i-1;j++){      //次数
16 
17                  if(arr[j]>arr[j+1]){
18 
19                         int temp=arr[j];
20 
21                         arr[j]=arr[j+1];
22 
23                         arr[j+1]=temp;
24 
25                   }
26 
27              }
28 
29         }
30 
31         System.out.println("排序后:"+Arrays.toString(arr));
32     }
33 }


 
运行结果:
排序前:[93, 67, 61, 0, 41, 95, 86, 8, 23, 81]
排序后:[0, 8, 23, 41, 61, 67, 81, 86, 93, 95]
原文地址:https://www.cnblogs.com/1020182600HENG/p/5868478.html