0
点赞
收藏
分享

微信扫一扫

【算法】【排序】冒泡排序

十里一走马 2022-04-14 阅读 213
排序算法

排序好的元素放在未排序元素末尾;每轮排序从第0号元素开始,相邻元素比较,如果左侧元素大于右侧元素,则交换相邻元素,一直比较到最后一个未排序的元素,一共进行N轮;

空间复杂度:O(1)

时间复杂度:O(n^2)

//冒泡排序
func bubbleSort(nums []int) {
	//for
	//从第1个元素到最后一个没有排序的元素
	//如果左侧元素大于右侧元素
	//交换 左侧元素,右侧元素
	//end for

	for i := len(nums) - 1; i > 0; i-- { //排好序的元素放最后
		for j := 0; j < i; j++ { //每轮排序都从第0个元素开始,排序好的元素放在最后,下次排序不再改变
			if nums[j] > nums[j+1] {
				//交换
				nums[j], nums[j+1] = nums[j+1], nums[j]
			}
		}
	}
}
举报

相关推荐

0 条评论