zoukankan      html  css  js  c++  java
  • [Go] Golang练习项目-GO语言实现快速排序-第一个数作为基准更容易理解

    快速排序思路:

    1. 第一个数作为基准数,找到所有比基准数小的放在左边 ,找所有比基准数大的放右边

    2.两个指针 ,一个从前往后 i,一个从后往前 j,i找到比基准数大的停下 , j找到比基准数小的停下 , 两个数调换位置,直到两数相遇

    3.调换基准数与i/j位置

    4.递归  , 从0到基准数位置 ,从基准数位置到最后

    //快速排序2
    func QuickSort2(arr *[]int,left int,right int){
        if left>= right{
            return
        }
        privot:=(*arr)[left]
        i:=left
        j:=right
        for i<j{
            for i<j && (*arr)[j]>privot{
                j--
            }
            for i<j && (*arr)[i]<=privot{
                i++
            }
            temp:=(*arr)[i]
            (*arr)[i]=(*arr)[j]
            (*arr)[j]=temp
        }
        (*arr)[left]=(*arr)[i]
        (*arr)[i]=privot
    
        QuickSort(arr,left,i-1)
        QuickSort(arr,i+1,right)
    }

    开源作品

    GO-FLY,一套可私有化部署的免费开源客服系统,安装过程不超过五分钟(超过你打我 !),基于Golang开发,二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能
    github地址:go-fly
    官网地址:https://gofly.sopans.com

    赞赏作者

    微信交流

  • 相关阅读:
    Update操作一定是先Delete再Insert吗?
    asp.net中的并发控制
    asp.net2.0下利用javascript实现treeview中的checkbox全选
    Json
    SQL Server2005 事务隔离级别
    设计概念模型
    前沿视频教程
    PowerDesigner使用
    表单 数字字符验证正则
    CharIndex對比Replace
  • 原文地址:https://www.cnblogs.com/taoshihan/p/13538067.html
Copyright © 2011-2022 走看看