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

【算法】快排

题目

快排

思路

如果输入为0或1直接返回;否则取一个基准值,可以取中间位置,如果输入是有序的可以避免时间过长,然后移动指针,先让i指针右移,如果小于基准值就继续右移,j指针左移同理。如果指针都停住,再看i<j,就交换。

代码

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

相关文章:

  • 开放签电子签章工具版 2.0 正式发布,构建全场景电子签约能力、满足复杂的签章管理场景
  • python和pycharm 和Anaconda的关系
  • DeepSeek V3和R1
  • JavaScript数组-获取数组中的元素
  • SSE:用于流式传输的协议
  • Aseprite详细使用教程(7)——切片工具
  • 航空公司客户价值分析
  • 基于开源Odoo、SKF Phoenix API与IMAX-8数采网关的圆织机设备智慧运维实施方案 ——以某纺织集团圆织机设备管理场景为例
  • LLM 架构
  • Word Embeddings
  • 相机开发调中广角和焦距有什么不一样
  • krpano学习笔记,端口修改,krpano二次开发文档,krpano三维div信息展示,krpano热点显示文字
  • Jenkins 给任务分配 节点(Node)、设置工作空间目录
  • 深入解析iOS视频录制(二):自定义UI的实现
  • 跳表的C语言实现
  • Java Web开发实战与项目——Spring Security与权限管理实现
  • 单元测试方法的使用
  • VScode内接入deepseek包过程(本地部署版包会)
  • flink写入hdfs数据如何保证幂等的?
  • newgrp docker需要每次刷新问题
  • LM_Funny-2-01 递推算法:从数学基础到跨学科应用
  • WDM_OTN_基础知识_波分站点与组网类型
  • 机器视觉--索贝尔滤波
  • 网络分析仪E5071C的回波损耗测量
  • 力扣-二叉树-98 验证二叉搜索树
  • 【动态规划】详解 0-1背包问题
  • 【Java线程池与线程状态】线程池分类与最佳实践
  • 【小白学AI系列】NLP 核心知识点(八)多头自注意力机制
  • 学习笔记——word中图目录、表目录 标题引用
  • 3.3 Hugging Face Transformers核心功能模块深度解析