0
点赞
收藏
分享

微信扫一扫

冒泡VS选择

醉倾城1 2024-11-18 阅读 16
开发语言

十大排序之冒泡排序、选择排序

	function bubbleSort(arr){
		if(!arr.length) return arr
		for(let i = 0 ;i< arr.length ; i++){
			// -i 是因为之前的i次循环已经排好了末尾的i个元素,-1是判断索引
			for(let j = 0 ; j < arr.length - i -1; j++){
				if(arr[j] > arr[j+1]){
					let tem = arr[j]
					arr[j] = arr[j+1]
					arr[j+1] = tem
				}
			}
		}
		return arr
	}
	// 以升序排序为例
	function choiceSort(arr){
		if(!arr.length) return arr
		for(let i = 0 ; i< arr.length ; i++){
			let index = i  // 标记最小元素的索引位置
			// 找到剩下元素中的最小元素索引位置
			for(let j = i+1 ; j< arr.length ; j++){
				if(arr[j] < arr[index]){
					index = j
				}
			}
			let tem = arr[i]
			arr[i] = arr[j]
			arr[j] = tem
		}
		return arr
	}
举报

相关推荐

0 条评论