思路:相邻的两个元素挨个比较,大的元素放在右边小的放在左边
1 public class Bubblesort { 2 public static void main(String[] args) { 3 int[] arr=new int[]{12,5,17,8,9}; 4 //排序前的数组 5 System.out.println("排序前的数组元素为:"); 6 for (int i = 0; i <arr.length ; i++) { 7 System.out.print(arr[i]+" "); 8 } 9 10 //冒泡排序法,相邻两个元素依次比较大的元素放在右边小的放在左边 11 for(int j=1;j<arr.length-1;j++){//控制轮数的 12 for (int i = 0; i <arr.length-j; i++) {//这个i只需要去到arr.length-2 13 if(arr[i]>arr[i+1]){ 14 arr[i]=arr[i]+arr[i+1]; 15 arr[i+1]=arr[i]-arr[i+1]; 16 arr[i]=arr[i]-arr[i+1]; 17 } 18 } 19 } 20 21 //排好序之后的数组 22 System.out.println(); 23 System.out.println("排好序之后的数组元素为:"); 24 for (int i = 0; i <arr.length ; i++) { 25 System.out.print(arr[i]+" "); 26 } 27 } 28 } 29 /*运行结果 30 排序前的数组元素为: 31 12 5 17 8 9 32 排好序之后的数组元素为: 33 5 8 9 12 17 34 */