1. 冒泡排序原理
-
冒泡排序概述
- 一种排序的方式,要对进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,依次对所有的数据进行操作,直至所有数据按要求完成排序。
-
如果有n个数据进行排序,总共需要比较n-1次
-
每一次比较完毕,下一次的比较就会少一个数据参加
2.冒泡排序代码实现
- 代码
package maopao;
public class ArrayDemo {
public static void main(String[] args) {
//定义一个数组
int [] arr = {20,39,19,40,90,21,10,7,3,1,0};
System.out.println("排序前:"+ArrayToString(arr));
for (int i = 0;i<arr.length-1;i++){
for (int j = 0;j<arr.length-i-1;j++){
if (arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.println("排序后:"+ArrayToString(arr));
}
public static String ArrayToString(int [] arr){
StringBuilder stringBuilder = new StringBuilder();
String s ="";
stringBuilder.append("[");
for (int i = 0;i<arr.length;i++){
if (i==arr.length-1) {
stringBuilder.append(arr[i]);
}else {
stringBuilder.append(arr[i]).append(",");
}
}
stringBuilder.append("]");
s = stringBuilder.toString();
return s;
}
}
- 结果
排序前:[20,39,19,40,90,21,10,7,3,1,0]
排序后:[0,1,3,7,10,19,20,21,39,40,90]
3.Arrays
- Arrays的常用方法
方法名 | 说明 |
---|---|
public static String toString(int[] a) | 返回指定数组的内容的字符串表示形式 |
public static void sort(int[] a) | 按照数字顺序排列指定的数组 |
-
工具设计思想
- 构造方法用
private
修饰 - 成员用
public static
修饰
- 构造方法用
-
代码示例
- 代码
package maopao;
import java.util.Arrays;
public class ArrayDemo2 {
public static void main(String[] args) {
//定义一个数组
int [] arr = {20,39,19,40,90,21,10,7,3,1,0};
System.out.println("排序前:"+ArrayToString(arr));
Arrays.sort(arr);
System.out.println("排序后:"+ArrayToString(arr));
}
public static String ArrayToString(int [] arr){
StringBuilder stringBuilder = new StringBuilder();
String s ="";
stringBuilder.append("[");
for (int i = 0;i<arr.length;i++){
if (i==arr.length-1) {
stringBuilder.append(arr[i]);
}else {
stringBuilder.append(arr[i]).append(",");
}
}
stringBuilder.append("]");
s = stringBuilder.toString();
return s;
}
}
结果
排序前:[20,39,19,40,90,21,10,7,3,1,0]
排序后:[0,1,3,7,10,19,20,21,39,40,90]