go快速排序

Posted xingyunshizhe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go快速排序相关的知识,希望对你有一定的参考价值。

 

package main

import (
	"fmt"
)

func quickSort(a []int, left int, right int) 
	if left >= right   //一定是left >= right
		return
	
	temp := a[left]
	start := left
	stop := right
	for right != left 
		for right > left && a[right] >= temp  
			right --
		
		for left < right && a[left] <= temp  
			left ++
		
		if right > left 
			a[right], a[left] = a[left], a[right]
		
	
	a[right], a[start] = temp, a[right]
	quickSort(a, start, left)
	quickSort(a, right+1, stop)


func main() 
	a := []int12,3,111,23,65,45
	quickSort(a, 0, len(a)-1)
	fmt.Println(a)

  

以上是关于go快速排序的主要内容,如果未能解决你的问题,请参考以下文章

[go] 快速排序

Go语言快速排序

Go语言冒泡选择插入快速排序实战浅析

go实现冒泡排序和快速排序

用Go实现冒泡排序选择排序和快速排序的运行效率比较

图解算法基础--快速排序,附 Go 代码实现