package com.paixu;
/*
* 冒泡排序
* */
public class MaoPao {
public static void main(String[] args) {
//定义一个数组
int[] arr = {24,69,80,57,13};
System.out.println("排序前:"+arrayToString(arr));
int temp;//临时变量
//第一次比较
for (int i = 0;i<arr.length-1;i++){
if (arr[i]>arr[i+1]){
//交换位置
temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
System.out.println("第一次比较后:"+arrayToString(arr));
//第二次比较
for (int i = 0;i<arr.length-2;i++){
if (arr[i]>arr[i+1]){
//交换位置
temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
System.out.println("第二次比较后:"+arrayToString(arr));
//第三次比较
for (int i = 0;i<arr.length-3;i++){
if (arr[i]>arr[i+1]){
//交换位置
temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
System.out.println("第三次比较后:"+arrayToString(arr));
//第四次比较
for (int i = 0;i<arr.length-4;i++){
if (arr[i]>arr[i+1]){
//交换位置
temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
System.out.println("第四次比较后:"+arrayToString(arr));
}
public static String arrayToString(int[] arr){
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0;i<arr.length;i++){
if (i==arr.length-1){
sb.append(arr[i]);
}else {
sb.append(arr[i]).append(",");
}
}
sb.append("]");
String s = sb.toString();
return s;
}
}
升级版
package com.paixu;
/*
* 冒泡升级版
* */
public class MaoPaoPlus {
public static void main(String[] args) {
//定义一个数组
int[] arr = {24,69,80,57,13};
System.out.println("排序前:"+arrayToString(arr));
int j = 1;
int temp = 0;
do {
for (int i = 0;i< arr.length-j;i++){
//第j次比较
if (arr[i]>arr[i+1]){
//交换位置
temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
System.out.println("第"+j+"次排序之后:"+arrayToString(arr));
j++;
}while (j<=arr.length-1);
}
public static String arrayToString(int[] arr){
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0;i<arr.length;i++){
if (i==arr.length-1){
sb.append(arr[i]);
}else {
sb.append(arr[i]).append(",");
}
}
sb.append("]");
String s = sb.toString();
return s;
}
}
知识星球APP(安卓版)
我正在「Java基地」和朋友们讨论有趣的话题,你⼀起来吧?
https://t.zsxq.com/nuz7E6A
附本人运营公众号