冒泡排序
-
原理: 让相邻位置的值进行比较,根据比较结果决定是否换位
-
特点: 每轮比较之后,都会从后往前确定一个位置的元素
-
实现: 外层循环表示比较轮数,内层循环表示比较次数和下标
int[] a = {88,26, 71,12, 1};
for (int i = 1; i < a.length; i++) {//外层-轮数
for (int j = 0; j < a.length-i ; j++) {//内层-比较下标范围
//让相邻元素进行比较: j-(j+1)
if (a[j + 1] < a[j]) {//从小到大:< 从大到小:>
//交换位置
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
选择排序
-
原理:固定一个下标位置,使其他下标位置与固定下标位置的值进行比较,根据比较结果决定是否换位
-
特点: 每轮比较之后,固定下标位置的值可以被确定
-
实现: 外层循环表示固定下标,内层循环表示与其比较的下标
int[] a = {88, 26, 71, 12, 1};
for (int i = 0; i < a.length - 1; i++) {//外层-固定下标
for (int j = i+1; j < a.length; j++) {//内层-与固定位置比较的下标
//让下标i与下标j元素的值进行比较
if (a[j] > a[i]) {//从小到大:< 从大到小:>
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
JDK排序
-
java.util.Arrays.sort(数组名):对数组内容进行从小到大的排序
import java.util.Arrays;
public class Test9 {
public static void main(String[] args) {
int[] a = {88, 26, 71, 12, 1};
Arrays.sort(a);
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
}
}