package com.zhou.struct;
public class ForTest05 {
public static void main(String[] args) {
int[] array = {95, 56, 86, 45, 12};
System.out.println("排序前:" + arrayToString(array));
//第一次比较
for (int i = 0; i < array.length - 1 - 0; i++) {
if (array[i] > array[i + 1]) {
int temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
}
System.out.println("第一次比较后:" + arrayToString(array));
//第二次比较
for (int i = 0; i < array.length - 1 - 1; i++) {
if (array[i] > array[i + 1]) {
int temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
}
System.out.println("第二次比较后:" + arrayToString(array));
//第三次比较
for (int i = 0; i < array.length - 1 - 2; i++) {
if (array[i] > array[i + 1]) {
int temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
}
System.out.println("第三次比较后:" + arrayToString(array));
//第四次比较
for (int i = 0; i < array.length - 1 - 3; i++) {
if (array[i] > array[i + 1]) {
int temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
}
System.out.println("第四次比较后:" + arrayToString(array));
}
public static String arrayToString(int[] array) {
StringBuilder s = new StringBuilder();
s.append("[");
for (int i = 0; i < array.length; i++) {
if (i == array.length - 1) {
s.append(array[i]);
} else {
s.append(array[i]).append(",");
}
}
s.append("]");
String s1 = s.toString();
return s1;
}
}
优化后
for(int x=0;x<array.length-1;x++){
for (int i = 0; i <array.length-1-x ; i++) {
if (array[i]>array[i+1]){
int temp=array[i];
array[i]=array[i+1];
array[i+1]=temp;
}
}
}
System.out.println("排序后:"+arrayToString(array));