冒泡排序
- 如果有n个数据进行排序,总共需要比较n-1次
- 每一次比较完毕,下一次的比较就会少一个数据参与
/*
* 冒泡排序:
* 一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,
* 依次对所有的数据进行操作,直至所有数据按要求完成排序
* */
public class ArraysDemo {
public static void main(String[] args) {
int[] arr = {22,88,33,99,11};
System.out.println("排序前:"+arrayToString(arr));
/*
采用双重for循环,最外一层for循环代表比较n-1次,
里面一层循环代表两两比较,前面比后面大那么就进行交换,否则不交换
*/
for (int a=0;a<arr.length-1;a++){
for (int b=0;b<arr.length-1-a;b++){
if (arr[b] > arr[b+1]){
int temp = arr[b];
arr[b] = arr[b+1];
arr[b+1] = temp;
}
}
}
System.out.println("排序后:"+arrayToString(arr));
}
//把数组中的元素按照指定的规则组成一个字符串:[元素1,元素2,...]
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;
}
}
运行结果如下: