package com.itheima.demo1;
import java.util.Arrays;
/**
* @author ChenY@itheima.com
* @date 2022/7/29 20:34
*/
public class SelectSort {
public static void main(String[] args) {
int [] arr = {45,25,35,2,55,15};
for (int i = 0; i < arr.length - 1; i++) {
int k = i;
for (int j = i+1; j < arr.length; j++) {
if(arr[j]<arr[k])
{/** 这里用来记录最小的位置*/
k = j;
}
if(k!=i)
/** 交换i和k*/
{
int temp = arr[k];
arr[k] = arr[i];
arr[i] = temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
}
这为了在形式上区别冒泡排序,确定一个用来记录元素最小的变量 k 在外层循环之后 将 外层循环的下标 i 赋值给 k。在进行内层循环,判断 arr[ j ] 和arr[ k ]的大小 如果arr[j]<arr[k],则更新最小元素的下标位置,最后 判断 记录的最小元素的下标是否和外层循环的 元素 i 相等,不等要交换 两个下标对应的元素