原理
源代码在最后
每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕
定义一个 int 类型的 nums 数组
int[] nums = new int[]{5,4,3,2,1};
在定义一个 int 类型的指针用于记录
int min = 0;
嵌套 for 循环,在第一次循环把 i 赋值给 min
for (int i = 0; i < nums.length - 1; i++) {
//这样下一次循环就是从已排序元素的下一个元素开始
min = i;
for (int j = i + 1; j < nums.length; j++) {
if (nums[min] > nums[j]){
min = j;
}
}
}
第二次循环完成,最小值已经出来,交换位置
if (min != i){
int temp = nums[min];
nums[min] = nums[i];
nums[i] = temp;
}
最后,遍历数组
for (int num : nums) {
System.out.print(num + "\t");
}
源代码
public static void main(String[] args) {
int[] nums = new int[]{5,4,3,2,1};
int min = 0;
for (int i = 0; i < nums.length - 1; i++) {
min = i;
for (int j = i + 1; j < nums.length; j++) {
if (nums[min] > nums[j]){
min = j;
}
}
if (min != i){
int temp = nums[min];
nums[min] = nums[i];
nums[i] = temp;
}
}
for (int num : nums) {
System.out.print(num + "\t");
}
}
1644

被折叠的 条评论
为什么被折叠?



