Go语言对数组进行冒泡排序和快速排序

package main

import "fmt"

//对数组进行冒泡排序
func BubbleSort(values [] int)  {
	var arrlen int =len(values)
	for i:=0;ivalues[j+1]{
				values[j],values[j+1]=values[j+1],values[j]
			}
		}
	}
}

func quickSort(values [] int,left,right int)  {

	temp:=values[left]

	p:=left

	i,j:=left,right

	for i<=j{

		for j>=p&&values[j]>=temp{
			j--
		}

		if j>=p{
			values[p]=values[j]
			p=j
		}

		if values[i]<=temp && i<=p{
			i++
		}

		if i<=p{
			values[p]=values[i]
			p=i
		}
	}

	values[p] =temp

	if p-left >1{
		quickSort(values,left,p-1)
	}

	if right-p>1{
		quickSort(values,p+1,right)
	}
}

//对数组进行快速排序
func QuickSort(values [] int)  {

	var arrlen int =len(values)
	quickSort(values,0,arrlen-1)
}

func main()  {

	values:=[] int {1,34,23,12,9,32,10,19,3,5,6,2,5,3,7,9,10,11}

	QuickSort(values)

	for i:=0;i

你可能感兴趣的:(数据结构与算法,GO)