golang版的排序算法实现(冒泡、选择、快速)

用golang重写冒泡、选择和快速三种排序算法。

测试输入参数如下所示:

valus := []int{12, 23, 1, 5, 3, 9}

冒泡排序接口:

func bubbleSort(values []int) {
	for i := 0; i < len(values); i++ {
		for j := i+1; j < len(values); j++ {
			if  values[i]>values[j]{
				values[i],values[j] = values[j],values[i]
			}
		}
	}
	fmt.Println(values)
}

选择排序接口:

func selectSort(valus []int) {
	var pos int = 0

	for i:=0; i

快速排序接口:

func quickSort(valus []int, low int, high int) {
	if low >= high {
		return
	}

	first := low
	last := high
	key := valus[first]

	for first < last {
		for first < last && valus[last] >= key {
			last--
		}
		valus[first] = valus[last]

		for first < last && valus[first] <= key {
			first++
		}
		valus[last] = valus[first]

	}
	valus[first] = key

	quickSort(valus, low, first-1)
	quickSort(valus, first+1, high)
}

 

你可能感兴趣的:(Golang)