JavaBasis
0、数组(二)
1、数组的排序
数组的排序算法有很多很多,这里只介绍两种基本的排序算法 : 冒泡排序和选择排序
1). 冒泡排序
给定一个乱序数组,通过每次进行相邻数之间的比较,把最大的数向后移动,最后得到有序数组
// 定义一个乱序数组
int[] arr = {
3,5,7,1,2,8,9};
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(Arrays.toString(arr));
结果 :
[1, 2, 3, 5, 7, 8, 9]
2). 选择排序
给定一个乱序数组,从前到后,依次取一个元素与其后边的元素进行比较,如果该元素大于其后边某一元素则交换位置,每次将最小数向前移动,最后得到有序数组