快速排序(代码及其分析)

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

 const  int N = 100010;
 
    int a[N];
    
int Partition(int q[],int low,int high)
{
    int pivot=q[low];
    while(low<high)
    {
    while(low<high&&q[high]>=pivot) high--;
    q[low]=q[high];
    while(low<high&&q[low]<=pivot) low++;
    q[high]=q[low];
    }
    q[low]=pivot;
    return low;
}


void QuickSort(int q[],int low,int high)
{
    if(low<high)
    {
    int pos=Partition(q,low,high);
    QuickSort(q,low,pos-1);
    QuickSort(q,pos+1,high);
    }
   
}


int main()
{
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    QuickSort(a,0,n-1);
    for(int i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
    
}

最好时间复杂度O

空间复杂度O

平均时间复杂度O****

最坏时间复杂度O(n*2)

不稳定

相关推荐
selfsongs5 小时前
指针、内存管理、现代 C++ 特性
c++
可编程芯片开发6 小时前
基于MATLAB的PEF湍流风场生成器模拟与仿真
算法
罗西的思考6 小时前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (9)--- Reward Judging
人工智能·算法·机器学习
吃着火锅x唱着歌6 小时前
Effective C++ 学习笔记 条款37 绝不重新定义继承而来的缺省参数值
c++·笔记·学习
2401_841495646 小时前
【数据结构】B+树
数据结构·数据库·c++·b+树·概念·结构·操作原理
小保CPP6 小时前
OCR C++ Tesseract按行识别字符
c++·人工智能·ocr·模式识别·光学字符识别
阿米亚波7 小时前
【C++】流式数据输入处理(不完全整理)
开发语言·c++·笔记
Mr.HeBoYan7 小时前
一次持续三天才出现的丢包故障——深入解析 DPDK Memory Ordering、rte_ring 与 CPU Memory Barrier (下)
linux·网络·算法·架构·dpdk
wabs6668 小时前
关于图论【深度优先搜索的理论基础】
算法·深度优先·图论
皓月斯语8 小时前
【C++基础】三目运算符
开发语言·数据结构·c++