原理: 让相邻位置的值进行比较,根据比较结果决定是否换位
特点: 每轮比较之后,都会从后往前确定一个位置的元素
实现: 外层循环表示比较轮数,内层循环表示比较次数和下标
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;
? ? ? ? ? ? ? }
? ? ? ? ? }
? ? ? }
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]+" ");
? ? ? }
? }
?
}