选择排序

import java.util.Arrays;

public class Test4 {
public static void main(String[] args) {
int[] nums={17,36,48,23,6,21};
//第1次: 假设nums[0]为最小 从nums[0+1]开始比较
//第2次: 假设nums[1]为最小 从nums[1+1]开始比较
//选择排序: 从小到大排列
for (int j = 0; j <nums.length-1; j++) {
int index=j;//假设第0个元素为最小元素
//nums[0]==nums[index]
for (int i = j+1; i <nums.length ; i++) {
if (nums[index]>nums[i]){//当前最小值 > 当前元素: 更新最小值
index=i;//更新最小值得索引
//nums[index]=nums[i]=当前最小元素
}
}
//当前最小元素,不是需要比较的元素中的第1个
if(index!=j){
//将需要排序的第1个元素 与 最小元素 调换位置
int temp=nums[j];//备份第0个元素的数据
nums[j]=nums[index];//将最小值 存储到 第0个位置
nums[index]=temp;//将第0个元素的数据 存储到 第index个位置
}
}


System.out.println(Arrays.toString(nums));
}
}
posted @ 2021-11-13 21:16  学代码的cc  阅读(27)  评论(0)    收藏  举报