0
点赞
收藏
分享

微信扫一扫

选择排序 js

野见 2022-03-13 阅读 63
// 选择排序 O(n²) 的时间复杂度,空间复杂度为常数阶 O(1)
		// let arr = [4, 8, 2, 5, 9, 1, 3, 6, 7]
		// let arr = [9,8,7,6,5,4,3,2,1]
		let arr = [2,3,1,2,1,3,2,1,2]

		function selectionsort(arr) {
			let indexMin = null
			let temp = null
			for (let i = 0; i < arr.length; i++) {
				//用来保持最小的值的索引位置 可以方便找到 不能是值以后会找不到在if里面
				indexMin = i
				for (let j = i; j < arr.length; j++) {
					//找到最小的值 每次找到最小的值 indexMin = j:比较还有没有更小的
					if (arr[j] < arr[indexMin]) {
						indexMin = j
					}
				}
				// 最小的值找到了就换位置
				temp = arr[i]
				arr[i] = arr[indexMin]
				arr[indexMin] = temp
			}
		}
		selectionsort(arr)

1. 算法步骤

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。

再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

重复第二步,直到所有元素均排序完毕。

 

举报

相关推荐

0 条评论