javascript的选择排序
时间: 2023-09-12 10:03:38 浏览: 34
以下是JavaScript实现选择排序的示例代码:
```
function selectionSort(arr) {
var n = arr.length;
for (var i = 0; i < n-1; i++) {
var minIndex = i;
for (var j = i+1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if (minIndex != i) {
var temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
return arr;
}
// 示例
var arr = [64, 25, 12, 22, 11];
var sortedArr = selectionSort(arr);
console.log(sortedArr); // [11, 12, 22, 25, 64]
```
该算法的基本思路是:每次从待排序的数组中选出最小的元素,放到已排序部分的末尾。具体步骤如下:
1. 初始化一个变量i,表示已排序部分的长度,初始值为0;
2. 外层循环遍历未排序部分的每个元素,将其依次作为已排序部分的最后一个元素;
3. 在内层循环中,遍历已排序部分中除了最后一个元素之外的所有元素,找出最小的元素的下标;
4. 如果最小元素不是已排序部分的最后一个元素,则交换它们的位置;
5. 重复步骤2-4,直到所有元素都被排序。
时间复杂度为O(n^2),空间复杂度为O(1)。