news 2026/4/18 8:07:32

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/17 20:13:24

终极指南:如何将NTFS无缝转换为Btrfs文件系统

终极指南&#xff1a;如何将NTFS无缝转换为Btrfs文件系统 【免费下载链接】ntfs2btrfs 项目地址: https://gitcode.com/gh_mirrors/nt/ntfs2btrfs 在Linux系统管理中&#xff0c;ntfs2btrfs 是一个革命性的开源工具&#xff0c;它让文件系统升级变得前所未有的简单。这…

作者头像 李华
网站建设 2026/4/17 0:45:12

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/4/16 7:20:03

行星滚柱丝杠的精度和寿命计算

国内大学不怎么教授磨擦学的内容&#xff0c;导致很多人在工作后对丝杠选型一脸懵。此文章包含寿命计算 运算举例&#xff0c;以及简单的动力学计算&#xff0c;精度计算。以及excel表&#xff0c;大家可以随时下载自行计算。此表可计算行星滚柱丝杠&#xff0c;滚珠丝杠。同时…

作者头像 李华
网站建设 2026/4/9 10:15:55

Text-Grab:重新定义Windows桌面文本提取体验

Text-Grab&#xff1a;重新定义Windows桌面文本提取体验 【免费下载链接】Text-Grab Use OCR in Windows quickly and easily with Text Grab. With optional background process and popups. 项目地址: https://gitcode.com/gh_mirrors/te/Text-Grab 想象一下这样的场景…

作者头像 李华
网站建设 2026/4/14 23:40:26

StaMPS:从卫星雷达数据提取地面形变信息的专业工具

在当今的地球观测领域&#xff0c;合成孔径雷达干涉测量技术已成为监测地表微小变化的重要手段。StaMPS&#xff08;Stanford Method for Persistent Scatterers&#xff09;作为这一领域的专业软件&#xff0c;为科研人员和工程师提供了从SAR时间序列数据中精确提取地面位移信…

作者头像 李华
网站建设 2026/4/10 0:41:35

【最新】2025 全新的AR装配系统服务商都有哪些

AR装配是基于增强现实技术的工业装配解决方案&#xff0c;核心是通过 AR 设备&#xff08;如智能眼镜、平板&#xff09;将三维数字模型、装配指引、操作步骤等虚拟信息实时叠加到物理工件上&#xff0c;实现 “虚实融合” 的可视化指导。它摒弃了传统纸质手册、二维图纸的低效…

作者头像 李华