冒泡排序&选择排序

98 阅读1分钟

冒泡:第一躺将最大的数移动到最后一个

func bubbleSort(arr []int) {
	if len(arr) < 1 {
    	return
    }
	for i := 0; i < len(arr) - 1; i++ {//控制趟数
    	for j := 0; j < len(arr) - i - 1; j++ {//从头遍历
        	if arr[j] > arr[j+1] {
            	arr[j], arr[j+1] = arr[j+1], arr[j] //交换
            }
        }
    }
}

选择:第一趟找到最小值的下标,和第一个数交换

func selectSort(arr []int) {
	if len(arr) < 1 {
		return
	}
    for i := 0; i < len(arr) - 1; i++ {//控制趟数
    	k := i
    	for j := i + 1; j < len(arr); j++ {
        	if arr[j] < arr[k] {
            	k = j
            }
        }
        arr[i], arr[k] = arr[k], arr[i]
    }
}