首页 > 编程语言 > 详细

golang 快速排序算法

时间:2020-12-12 23:39:45      阅读:61      评论:0      收藏:0      [点我收藏+]
package main

import "fmt"

var arr = []int{7, 6, 8, 3, 5, 2, 4, 9, 1, 0}
var tmpArr = make([]int, len(arr))

func main() {
	fmt.Println(arr)
	quickSort(arr, 0, len(arr)-1)
	fmt.Println(arr)
}

func quickSort(arr []int, begin, end int) {
	if begin < end {
		key := arr[begin]
		i, j := begin, end
		for i < j {
			for i < j && key < arr[j] {
				j--
			}
			if i < j {
				arr[i] = arr[j]
				i++
			}
			for i < j && key > arr[i] {
				i++
			}
			if i < j {
				arr[j] = arr[i]
				j--
			}

		}
		arr[i] = key
		quickSort(arr, begin, i-1)
		quickSort(arr, i+1, end)
	}
}

golang 快速排序算法

原文:https://www.cnblogs.com/Mishell/p/14126904.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!