package cn.com.collections.sort;
import java.util.Arrays;
public class ArrSort2 {
public static void main(String[] args) {
// 数组
int[] arr = { 5, 3, 7, 2, 6, 7, 6, 5, 4, 1, 9, 8 };
for (int i = 0; i < arr.length; i++) {
}
System.out.println("未排序的循环遍历:" + Arrays.toString(arr));
Arrays.sort(arr);// 升序排序
for (int i = 0; i < arr.length; i++) {
}
System.out.println("方式一:排序升序后:" + Arrays.toString(arr));
System.out.print("排序后倒序输出:");
for (int i = arr.length - 1; i >= 0; i--) {
System.out.print(arr[i] + " ");
}
;
System.out.println("==========方式二:使用选择排序=================");
// 第一次循环,是确定一个数依次和后面数的比较的数。
for (int i = 0; i < arr.length - 1; i++) {
// 这个是和第一个数的比较的数
for (int j = i + 1; j < arr.length; j++) {
// 定义一个临时的变量,用来交换变量
int temp;
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
// 打印最后的排序结果
System.out.println("方式二:使用选择排序" + Arrays.toString(arr));
// 外部循环
for (int i = 0; i < arr.length - 1; i++) {
// 相连两个数的索引是利用内部循环
for (int index = 0; index < arr.length - 1; index++) {
// 同样利用中间变量,注意区分与选择排序的区分
if (arr[index] > arr[index + 1]) {
int temp = arr[index];
arr[index] = arr[index + 1];
arr[index + 1] = temp;
}
}
}
System.out.println("方式三:使用冒泡排序" + Arrays.toString(arr));
}
}
测试输出结果如下:
未排序的循环遍历:[5, 3, 7, 2, 6, 7, 6, 5, 4, 1, 9, 8]
方式一:排序升序后:[1, 2, 3, 4, 5, 5, 6, 6, 7, 7, 8, 9]
排序后倒序输出:9 8 7 7 6 6 5 5 4 3 2 1 ==========方式二:使用选择排序=================
方式二:使用选择排序[1, 2, 3, 4, 5, 5, 6, 6, 7, 7, 8, 9]
方式三:使用冒泡排序[1, 2, 3, 4, 5, 5, 6, 6, 7, 7, 8, 9]