学习目标:
- 掌握选择排序
学习内容:
- 基本思想
- 时间复杂度
- 动画演示
- 代码
基本思想:
- 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
- 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
- 重复上一步,直到所有元素均排序完毕。
时间复杂度:O(n^2)
动画演示:
<iframe allowfullscreen="true" data-mediaembed="csdn" frameborder="0" id="KdV5LFsH-1718067020770" src="https://live.csdn.net/v/embed/397769"></iframe>选择排序
代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>选择排序</title>
</head>
<body>
<script>
function selectSort(arr) {
for (let i = 0; i < arr.length; i++) {
let minIndex = i
for (let j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j
}
}
//交换i和最小值
[arr[i], arr[minIndex]] = [arr[minIndex], arr[i]]
}
return arr
}
let arr = [8, 5, 7, 2, 1, 4, 3]
arr = selectSort(arr)
console.log(arr)
</script>
</body>
</html>
标签:minIndex,arr,元素,选择,let,序列,排序
From: https://blog.csdn.net/m0_64105917/article/details/139584532