// 选择排序递归调用
function selectionSortRecursive(arr, n, i = 0) {
// 基本情况:当 i 到达数组末尾时
if (i === n) {
return arr;
}
let minIndex = i;
// 找到未排序部分中最小元素的索引
for (let j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
// 将最小元素与当前元素交换位置
const temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
// 递归调用,对剩余数组元素进行排序
return selectionSortRecursive(arr, n, i + 1);
}