java冒泡排序的几种写法

package com.hp;

import java.util.Arrays;

public class Test1 {
public static void main(String[] args) {
int[] arr={53,44,32,23,99,11};
//正序冒泡
//定义一个临时变量做位置交换的容器
// int a = 0;

// for (int i = 0; i < arr.length-1; i++) { //循环控制排序要走多少趟,最多做length-1趟排序
// for (int j = 0; j < arr.length-1-i; j++) { //第2个for循环控制每趟比较多少次 lenth-1-i
// if(arr[j+1]<arr[j]){ //大的往后面排
// a = arr[j]; //交换位置
// arr[j] = arr[j+1];
// arr[j+1] = a;
// }
// }
// }
// System.out.println(Arrays.toString(arr));

//倒叙冒泡
int b =0;
for(int i=arr.length;i>1;i--) { //从大开始循环 从后面开始比较
for(int j=0;j<i-1;j++) {
if(arr[j]<arr[j+1]) {
b=arr[j];
arr[j]=arr[j+1];
arr[j+1]=b;
}
}
}
System.out.println(Arrays.toString(arr));

//倒叙排序冒泡
// int d=0;
// for(int i=0;i<arr.length-1;i++) { //从小开始循环 从前面开始比较
// for(int j=i+1;j<arr.length;j++) {
// if(arr[i]<arr[j]) {
// d=arr[i];
// arr[i]=arr[j];
// arr[j]=d;
// }
// }
// }
// System.out.println(Arrays.toString(arr));

//从最后一位开始比
// int c=0;
// for(int i=0;i<arr.length-1;i++) {
// for(int j=arr.length-1;j>i;j--) {
// if(arr[j]<arr[j-1]) {
// c=arr[j];
// arr[j]=arr[j-1];
// arr[j-1]=c;
// }
// }
// }
// System.out.println(Arrays.toString(arr));


// Arrays.sort(arr); //进行排序
// for(int i: arr){
// System.out.print(i+" ");
// }
}
}

参照博文:https://blog.csdn.net/a445238412/article/details/79665234

胖子哈登
原文地址:https://www.cnblogs.com/Nick62/p/13687304.html