LeetCode——排序算法

快排

利用数组拼接完成
func quickSort(arr []int, start, end int) []int {
	if start < end {
		mid := arr[start]
		i := start
		j := end

		for i < j {

			for arr[j] >= mid && i < j {
				j--
			}
			for arr[i] < mid && i < j {
				i++
			}
			if i < j {
				arr[i], arr[j] = arr[j], arr[i]
			}
		}
		arr[start] = arr[i]
		arr[i] = mid

		fmt.Println(arr)
		quickSort(arr, start, j-1)
		quickSort(arr, j+1, end)
	}
	return arr
}

冒泡

func popOrder(arr []int) []int {
	lenarr := len(arr)
	if lenarr == 0 {
		return arr
	}

	for i := 0; i < lenarr; i++ {
		for j := 1; j < lenarr-i; j++ {
			if arr[j-1] < arr[j] {
				arr[j-1], arr[j] = arr[j], arr[j-1]
			}
		}
	}
	return arr
}

你可能感兴趣的:(LeetCode)