当前位置: 首页 > news >正文

【C++】【算法基础】快速排序

快速排序

题目

用快速排序排序长度为 n n n的整数数列。

题解

快速排序的核心思想是分而治之:选定一个基准值,将数组分为两半,一边比其小,一边比其大,然后再次分别选定一个基准值,再次操作。

#include<iostream>
using namespace std;void quickSort(int *a, int l, int r)
{if(l >= r) return ;int i = l - 1, j = r + 1, key = a[i + j >> 1];while(i < j){do j --; while(a[j] > key);do i ++; while(a[i] < key);if(i < j) swap(a[i], a[j]);}quickSort(a, l, j);quickSort(a, j + 1, r);
}int main()
{int n;cin >> n;int a[n];for(int i = 0; i < n; i ++)cin >> a[i];quickSort(a, 0, n - 1);for(int i = 0; i < n; i ++)cout << a[i] << " ";return 0;
}
http://www.lryc.cn/news/480234.html

相关文章:

  • 数仓工具—Hive语法之窗口函数中的order by
  • 以旅游产品为例改写一篇系统架构风格的论文
  • 【Linux】linux编辑器-vim的命令及配置
  • 解决vite项目tailwindcss不生效!!(Vue3、tailwindcss失效)
  • ubuntu 20.04 NVIDIA驱动、cuda、cuDNN安装
  • Python世界:力扣题704二分查找
  • W55RP20-EVB-Pico评估板介绍
  • Flink安装和Flink CDC实现数据同步
  • 数字化转型助手 快鲸SCRM系统为企业营销赋能
  • 浅谈Agent
  • 绿色能源发展关键:优化风电运维体系
  • Sparrow系列拓展篇:对调度层进行抽象并引入IPC机制信号量
  • 天塌了!!!SQL竟也可以做预测分析?| 商品零售额的预测
  • VSCode本地C/C++环境配置
  • 【智能算法应用】淘金优化算法求解二维路径规划问题
  • Linux挖矿病毒(kswapd0进程使cpu爆满)
  • 【java】ArrayList与LinkedList的区别
  • 【LangChain系列6】【Agent模块详解】
  • JavaScript Cookie 与 服务器生成的 Cookie 的区别与应用
  • 深入了解Git、GitHub、GitLab及其应用技巧
  • ctfshow(316,317,318)--XSS漏洞--反射性XSS
  • Visual Studio2022版本的下载与安装
  • nodeJS程序如何引入依赖包
  • 建网站怎么建?只需几个步骤
  • 机器学习课程总结(个人向)
  • 数据分析-43-时间序列预测之深度学习方法GRU
  • Pandas | 数据分析时将特定列转换为数字类型 float64 或 int64的方法
  • Elasticsearch的自定义查询方法到底是啥?
  • Jenkins找不到maven构建项目
  • 怎么更换IP地址 改变IP归属地的三种方法