排序好的元素放在未排序元素末尾;每轮排序从第0号元素开始,相邻元素比较,如果左侧元素大于右侧元素,则交换相邻元素,一直比较到最后一个未排序的元素,一共进行N-1轮;
空间复杂度:O(1)
时间复杂度:O()
//冒泡排序
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]
}
}
}
}