news 2026/4/16 16:57:27

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/4/14 23:10:24

Android日志查看器完整指南:移动端调试的革命性解决方案

Android日志查看器完整指南&#xff1a;移动端调试的革命性解决方案 【免费下载链接】LogcatViewer Android Logcat Viewer 项目地址: https://gitcode.com/gh_mirrors/lo/LogcatViewer 还在为每次调试都要连接电脑而烦恼吗&#xff1f;LogcatViewer让您在手机上就能实时…

作者头像 李华
网站建设 2026/4/16 12:38:09

为什么工程实践中不推荐使用lambda表达式

首先可以明确一点设计思想 lambda表达式的作用是为了方便程序员更加简单的写代码&#xff0c;其本身如果使用正确是没有问题的。这种易用性对程序员的能力要求更高&#xff0c;功力尚欠的程序员一旦使用不好更容易产生bug。工程中最重要的是写出更优秀的代码&#xff08;更易读…

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

计算机毕业设计springboot专业认证教学资料综合管理系统 基于SpringBoot的高校教学资源认证与共享平台 SpringBoot驱动的课程资料标准化与归档系统

计算机毕业设计springboot专业认证教学资料综合管理系统491a9o79 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。高校教学资源长期分散存储、版本混乱、查找低效&#xff0c;专业…

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

计算机毕业设计springboot皮影文化科普平台的设计与实现 基于SpringBoot的非遗皮影数字传播平台构建 面向Web的皮影艺术互动展示与科普系统研发

计算机毕业设计springboot皮影文化科普平台的设计与实现4g9pm8i2 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。皮影戏始于汉、兴于唐&#xff0c;被誉为“电影的鼻祖”&#x…

作者头像 李华
网站建设 2026/4/16 11:08:18

网络安全年薪 20 - 60W 还带 16 薪?这 “黄金赛道” 传言真的能信吗?

数字化浪潮奔涌&#xff0c;万物互联时代加速到来。网络空间已成为国家、企业乃至个人生存发展的新基石。 随之而来的&#xff0c;是日益严峻的安全威胁。数据泄露、勒索攻击、系统瘫痪…安全事件频发&#xff0c;使得网络安全的重要性被提升到前所未有的战略高度。 网络安全…

作者头像 李华
网站建设 2026/4/16 11:08:14

HIDDriver虚拟鼠标键盘驱动:从零构建硬件级输入模拟系统

HIDDriver作为一款开源的虚拟鼠标键盘驱动程序&#xff0c;通过底层驱动架构实现了硬件级别的输入信号仿真&#xff0c;为自动化控制、远程交互等场景提供了稳定可靠的解决方案。 【免费下载链接】HIDDriver 虚拟鼠标键盘驱动程序&#xff0c;使用驱动程序执行鼠标键盘操作。 …

作者头像 李华