先定义一个要排序的数组

arr:=[7]int{4,1,5,2,3,6,7}

实现排序的函数

//left 数组最左边 right 数组最右边
func sort(left, right int, arr *[7]int)  {

快速排序 先确定一个关键字。这里的关键字可以是数组任意一个

这里我设关键字下标为key, 是排序数组第一个数。

//关键字下标
key:=left

代码如下

找到 在mid左边 且arr[left] > arr[mid] 的对应left

找到 在mid右边 且arr[right] < arr[mid] 的对应right

对找到的left 和 right 进行判断

在left == key || right == key 前提下 

根据找到的下标 left或right 进行与关键字的互换 

注意 关键字互换后要更改 关键字的下标

函数退出条件:

//判断退出条件
if left<=l&&right>=r{
   return
}

以key 为分界线,对剩下的数排序 用递归方法

 

结果:

总代码如下: