直接选择排序算法
public class StraightSelectSort {
public static void main(String[] args) {
/**
* 直接选择排序算法 (升序)
*/
int[] arr = {38, 97, 26, 19, 38, 15};
//n-1趟排序
for (int i = 0; i < arr.length - 1; i++) {
int min = i;
//每趟在从arr[j]开始的子序列中寻找最小元素
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[min]) {
//min记住本趟最小元素的下标
min = j;
}
}
//将本趟最小的元素交换到前面
if (min != i) {
int temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}
print(arr);
}
private static void print(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}