Go 语言实现快速排序算法的简单示例

以下是使用 Go 语言实现快速排序算法的简单示例:

package main

import "fmt"

func quickSort(arr []int) {
    if len(arr) <= 1 {
        return
    }

    pivot := arr[len(arr)/2]
    var left, right []int

    for _, num := range arr {
        if num < pivot {
            left = append(left, num)
        } else if num > pivot {
            right = append(right, num)
        }
    }

    quickSort(left)
    quickSort(right)

    copy(arr, append(append(left, pivot), right...))
}

func main() {
    // 示例数组
    array := []int{64, 34, 25, 12, 22, 11, 90}

    fmt.Println("Unsorted array:", array)

    // 调用快速排序函数
    quickSort(array)

    fmt.Println("Sorted array:", array)
}

在这个例子中,quickSort 函数接收一个整数切片,使用递归的方式进行快速排序。在 main 函数中,我们定义了一个示例数组,调用 quickSort 函数对其进行排序,并输出结果。

快速排序算法的平均时间复杂度为 O(n log n),相对于冒泡排序而言更为高效。在实际应用中,快速排序通常是处理大型数据集时的一个良好选择。

希望你也学会了,更多编程请来二当家的素材网:https://www.erdangjiade.com

你可能感兴趣的:(golang,排序算法,算法)