news 2026/8/24 13:33:44

PAT 1171 Replacement Selection

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PAT 1171 Replacement Selection



这一题的大意是给出一种叫做Replacement Selection的排序方法,具体的方案是在给出一个存储器的大小M,当存储器中的元素小于存储器的大小M的时候,不断的读入元素,当元素的数量大于等于M时候,就输出存储器中最小的,并且在这个时候如果输入的元素比当前输出的元素大,就放入到存储器中,接替输出元素的位置,如果比输出元素小,就放在下一轮,当这一轮中存储器中元素输出完之后,把下一轮中的元素输入进存储器中,所有的元素按照同样的方法输出,最后所=所构成的排序序列就是Replacement Selection
输出存储器中最小的,我们可以采用堆来存储,保存下一轮的元素,我们同样可以采用堆来存储,这样当第一轮的元素为空时,我们可以直接交换两个堆实现下一轮的开始,而且采用堆可以快速的按照题目的要求按顺序输出。
完整代码如下:

#include<bits/stdc++.h>#include<iostream>usingnamespacestd;//当输入过大的时候,我们采用外部排序//产生一种排序记录叫做一趟//尽可能读多的记录到存储器中,并且在内部排序它们// 它们把结果写回到一些tape中//每一个运行/趟的大小和存储器的容量是相同的// 第一个记录被输出到tape中,存储器将变得可利用对于另一个记录// 排序以递增的方式,如果下一个记录大于等于我们已经输出的记录// 我们把它放到趟中// 81 94 11 96 12 99 35// 11 81 94 12 96 99 35// 11 81priority_queue<int,vector<int>,greater<int>>q1;priority_queue<int,vector<int>,greater<int>>q2;intN;intM;vector<int>t;intmain(){cin>>N>>M;for(inti=0;i<N;i++){intx;cin>>x;t.push_back(x);if(q1.size()<M){q1.push(x);}}intindex=M;while(q1.size()){intx=q1.top();cout<<q1.top();q1.pop();if(x<=t[index]&&index<N){q1.push(t[index]);index++;}elseif(x>t[index]&&index<N){q2.push(t[index]);index++;}if(q1.empty()){cout<<endl;swap(q1,q2);}else{cout<<" ";}}return0;}

总结:这一题首先得看懂题意,我刚开始都没有看懂题意,不知道到底是按照怎么样的流程输出的,当我们看清题意后,会发现采用堆来存储和输出是十分的方便。之后模拟流程即可。

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

Three-DXF深度解析:在浏览器中实现专业级CAD文件渲染

Three-DXF深度解析&#xff1a;在浏览器中实现专业级CAD文件渲染 【免费下载链接】three-dxf A dxf viewer for the browser using three.js 项目地址: https://gitcode.com/gh_mirrors/th/three-dxf Three-DXF是一款基于Three.js的强大JavaScript库&#xff0c;专门用于…

作者头像 李华
网站建设 2026/8/19 7:53:21

P2MS:比特币的多重签名机制与比特鹰的技术解析

在比特币生态中&#xff0c;P2MS&#xff08;Pay To Multisig&#xff09;是实现资产多人共管的核心技术。通过多重签名机制&#xff0c;P2MS为机构与团队提供了更高的资金安全性。比特鹰将解析其技术逻辑、应用场景及潜在限制。P2MS技术原理&#xff1a;比特鹰的三步拆解 比特…

作者头像 李华
网站建设 2026/8/20 17:53:07

终极AI字幕生成指南:快速掌握智能字幕处理技巧

终极AI字幕生成指南&#xff1a;快速掌握智能字幕处理技巧 【免费下载链接】ComfyUI_SLK_joy_caption_two ComfyUI Node 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_SLK_joy_caption_two ComfyUI字幕生成插件是一款强大的AI工具&#xff0c;能够为图像自动生…

作者头像 李华
网站建设 2026/8/24 11:12:47

C语言程序设计教学指导:突破误区,设计有效实验项目

在编程教育中&#xff0c;C语言教学具有基石地位。它不仅是理解计算机底层逻辑的关键&#xff0c;更是培养学生严谨计算思维的起点。然而&#xff0c;传统的C语言教学常陷入语法细节的泥潭&#xff0c;让学生感到抽象枯燥。有效的教学应超越语法本身&#xff0c;引导学生理解其…

作者头像 李华
网站建设 2026/8/22 1:24:31

DirectX 9.0b SDK介绍:核心组件、在游戏中的重要性

DirectX 9.0b SDK 是微软在2004年发布的一套关键开发工具包&#xff0c;主要用于图形、音频和多媒体程序的开发。它对当时的游戏和多媒体产业产生了深远影响&#xff0c;为开发者提供了稳定且功能丰富的API接口。理解其核心组件和历史地位&#xff0c;有助于我们认识实时图形技…

作者头像 李华
网站建设 2026/8/23 7:11:19

AgentWeb混合开发终极指南:5步实现原生与Web无缝融合

AgentWeb混合开发终极指南&#xff1a;5步实现原生与Web无缝融合 【免费下载链接】AgentWeb AgentWeb is a powerful library based on Android WebView. 项目地址: https://gitcode.com/gh_mirrors/ag/AgentWeb 在移动应用开发中&#xff0c;WebView与原生组件的割裂感…

作者头像 李华