news 2026/7/14 14:35:09

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/7/13 8:49:03

Mysq 单库备份恢复

环境 mysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper首先数据库服务器中存在jxf这个库 并且这个库中存在相关数据1.进行备份操作# mysqldump -u 用户名 -p 用户密码 所需备份的库 >备份文件存放路径&#xff08;需提前进行创建&#xff0…

作者头像 李华
网站建设 2026/7/13 4:22:06

Qualcomm Atheros QCA9377无线网卡Linux驱动终极安装指南

Qualcomm Atheros QCA9377无线网卡Linux驱动终极安装指南 【免费下载链接】Qualcomm-Atheros-QCA9377-Wifi-Linux Drivers and Firmware for Qualcomm Atheros QCA9377 0042 [rev. 30] 项目地址: https://gitcode.com/gh_mirrors/qu/Qualcomm-Atheros-QCA9377-Wifi-Linux …

作者头像 李华
网站建设 2026/7/14 20:29:42

3款宝藏AI写歌工具推荐:免费好上手,小白也能玩!

人或是想打造专属旋律的普通人而言奢望既有也有音乐想写首属于自己的歌&#xff1f;以前总觉得要懂乐理、会编曲&#xff0c;门槛太高&#xff01;现在有了AI就不一样啦&#xff0c;轻松打破创作壁垒。这里精选3款优质ai歌曲生成器都是高性价比的ai音乐免费生成工具&#xff0c…

作者头像 李华
网站建设 2026/7/12 13:25:53

找靠谱OpenGL编程指南pdf的途径和使用优缺点

对于许多图形编程初学者和开发者而言&#xff0c;寻找一份权威、系统且易于获取的《OpenGL编程指南》PDF文档&#xff0c;往往是开启学习之旅的第一步。这本书被誉为“OpenGL红宝书”&#xff0c;其系统性讲解和权威性是业界公认的。获取和使用这份PDF&#xff0c;既关乎学习的…

作者头像 李华
网站建设 2026/7/14 14:20:48

MQTT调试利器:从入门到精通的完整使用手册

MQTT调试利器&#xff1a;从入门到精通的完整使用手册 【免费下载链接】MQTT-Explorer An all-round MQTT client that provides a structured topic overview 项目地址: https://gitcode.com/gh_mirrors/mq/MQTT-Explorer 你是否在物联网项目开发中遇到过这样的困扰&am…

作者头像 李华