//数组排序
//还有 插入,快速,归并排序…
public class ArrayDemo4 {
public static void main(String[] args) {
//冒泡排序 升序排序 降序排序把大于换成小于
/* int[] nums = {3, 6, 4, 2, 7, 1};
for (int i = 0; i < nums.length - 1; i++) {
for (int j = 0; j < nums.length - 1 - i; j++) {
int temp = nums[j];
if (nums[j] > nums[j + 1]) {
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
System.out.println(Arrays.toString(nums));*/
// 选择排序 升序 思路:用一个元素和之后所有元素一次比较,如果当前元素大于比较的元素,则交换位置
/*int[] nums = {3, 6, 4, 2 ,7, 1};
for (int i = 1; i <= nums.length - 1; i++) {
for (int j = nums.length - 1 - i; j < nums.length - 1; j++) {
if (nums[j] > nums[j + 1]) {
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
System.out.println(Arrays.toString(nums));*/
//选择排序优化
/*int[] arr = {3, 6, 4, 2 ,7, 1};
//i轮数
for (int i = 1; i < arr.length; i++) {
//第i轮 将i-1下标归位
//下标为0进行归位
//i = 1 下标为0进行归位
int index = i - 1 ;//当前轮最小值的下标
for (int j = i; j <= arr.length-1; j++) {
if (arr[index] > arr[j]) { //arr[0] 和 arr[1]比较
index = j;
}
}
if (index != i-1) {
//交换
int temp = arr[i-1];
arr[i-1]= arr[index];
arr[index] = temp;
}
}
System.out.println(Arrays.toString(arr));*/
//Arrays.sort(数组名)
/*int[] arr = {3, 6, 4, 2 ,7, 1};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));*/
}
}