news 2026/4/20 4:06:37

快速排序的优化:荷兰国旗问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
快速排序的优化:荷兰国旗问题

测试

PTA:校内链接7-1 排序 - Search & Sort(信安24)

题目

图解

因为嗯,我觉得文字描述太干了,而且很难看也是画了个图解好理解一点ovo

首先是一个乱序的数组我们给他排序,我们先设置两个界限,和三个指针,下面会给出每个东西的含意,和基本的逻辑

然后我们来模拟逻辑

代码

#include<iostream> using namespace std; const int N = 1e5 + 2; int arr[N]; int first, last;//全局变量作为partition的返回值 void swap(int x, int y) { int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } void partition(int l, int r, int x) { first = l, last = r; int i = l; while (i <= last) { if (arr[i] == x) i++; else if (arr[i] < x) { swap(i++, first++); } else { swap(last--, i); } } } void sort(int l,int r) { if (l >= r) return; partition(l, r, arr[(l + r) / 2]); int fir = first; int las = last; sort(l, fir - 1); sort(las + 1, r); } int main() { int n; cin >> n; for (int i = 0; i < n; i++) cin >> arr[i]; sort(0, n - 1); for (int i = 0; i < n; i++) cout << arr[i] <<" "[i==n-1]; }

结果

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 9:52:50

39、邮件服务配置与反垃圾邮件策略

邮件服务配置与反垃圾邮件策略 1. 运行POP和IMAP守护进程 在测试POP和IMAP服务时,新安装的Red Hat系统可能会返回“Connection refused”错误。例如: $ telnet localhost imap Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused $ telnet l…

作者头像 李华
网站建设 2026/4/16 9:52:48

51、Linux系统磁盘分区与引导加载器配置全解析

Linux系统磁盘分区与引导加载器配置全解析 1. 用户数据存储与符号链接 在Linux系统中,用户数据通常存放在 /home 目录。若有多个磁盘专门用于存储用户数据,可以创建如下分区: - 创建 /home/user1 分区,涵盖第一块磁盘的剩余空间。 - 创建 /home/user2 分区,涵盖…

作者头像 李华
网站建设 2026/4/17 22:02:11

Untrunc视频修复工具终极指南:快速拯救损坏MP4文件的完整教程

Untrunc视频修复工具终极指南&#xff1a;快速拯救损坏MP4文件的完整教程 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc 你是否曾经因为视频文件损坏而痛心不已&am…

作者头像 李华
网站建设 2026/4/18 3:07:43

Apollo配置中心架构优化实战指南:从千级到万级节点的平滑演进

Apollo配置中心架构优化实战指南&#xff1a;从千级到万级节点的平滑演进 【免费下载链接】apollo 项目地址: https://gitcode.com/gh_mirrors/ap/apollo Apollo作为携程开源的分布式配置中心&#xff0c;在大规模微服务架构中承担着关键的角色。然而当应用规模从千级节…

作者头像 李华
网站建设 2026/4/18 4:44:23

[创业之路]-737-CTO 的核心工作流(闭环模型):CTO 不是“救火队长”,而是“未来架构师”。其核心工作不是处理当下问题,而是构建通向未来的确定性。

以下是 CTO 的核心工作流&#xff08;闭环模型&#xff09; 的完整、清晰、可落地的结构化表达。该模型融合了战略洞察、目标设定、路径规划与执行反馈&#xff0c;适用于技术领导者的日常决策、团队对齐和组织演进。“看趋势 → 定目标 → 盘现状 → 走路径 → 做方案 → 抓执…

作者头像 李华