news 2026/4/16 12:52:54

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

作者头像

张小明

前端开发工程师

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/15 16:14:42

EmotiVoice支持SSML标签控制语音细节

EmotiVoice中的SSML标签&#xff1a;实现情感化与精细化语音合成的钥匙 在智能语音技术飞速发展的今天&#xff0c;用户早已不再满足于“能说话”的机器。从虚拟主播到有声书、从游戏NPC到数字人客服&#xff0c;人们期待的是有情绪、有节奏、有个性的声音表达。传统的文本转语…

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

Photoshop图层批量导出终极指南:效率提升10倍的完整解决方案

Photoshop图层批量导出终极指南&#xff1a;效率提升10倍的完整解决方案 【免费下载链接】Photoshop-Export-Layers-to-Files-Fast This script allows you to export your layers as individual files at a speed much faster than the built-in script from Adobe. 项目地址…

作者头像 李华
网站建设 2026/4/15 15:29:22

深入解析libgit2:打造高效版本控制应用的5个核心技巧

深入解析libgit2&#xff1a;打造高效版本控制应用的5个核心技巧 【免费下载链接】libgit2 A cross-platform, linkable library implementation of Git that you can use in your application. 项目地址: https://gitcode.com/gh_mirrors/li/libgit2 libgit2作为一个跨…

作者头像 李华
网站建设 2026/4/16 15:47:25

5分钟解锁Figma-Context-MCP:让AI代码助手成为你的设计伙伴

5分钟解锁Figma-Context-MCP&#xff1a;让AI代码助手成为你的设计伙伴 【免费下载链接】Figma-Context-MCP MCP server to provide Figma layout information to AI coding agents like Cursor 项目地址: https://gitcode.com/gh_mirrors/fi/Figma-Context-MCP 还在为设…

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

53、Linux安装与BIND配置指南

Linux安装与BIND配置指南 1. Linux安装准备 在进行Linux安装时,大部分安装步骤已集成到单一的安装程序中。不过,每个步骤都有其独特性,需要你认真思考并输入必要信息。做好充分的规划是确保安装顺利进行的关键。 安装过程中的许多决策都取决于对服务器硬件的了解以及服务…

作者头像 李华
网站建设 2026/4/16 17:49:25

医疗陪护机器人语音解决方案:基于EmotiVoice

医疗陪护机器人语音解决方案&#xff1a;基于EmotiVoice 在老龄化社会加速演进的今天&#xff0c;越来越多的家庭和医疗机构开始依赖智能设备来缓解护理人力短缺的压力。而在这股智能化浪潮中&#xff0c;医疗陪护机器人正从“能动会说”的初级形态&#xff0c;向真正具备情感共…

作者头像 李华