C++ code:

#include <iostream>
#include <fstream>
#include <map>
#include <string>
#include <algorithm> using namespace std; int main()
{
multimap<int,string> agemap;//以年龄为键,以个人信息为值,年龄必有重复,定义成multimap可自动排序
ifstream infile("persons.txt");//为ifstream对象提供文件名作为初始化式,就相当于打开了特定的文件,不用再调用open函数
if(!infile)
{
cout<<"Open file error!"<<endl;
} string textline;
int age;
string::reverse_iterator rcomma;//string类型反向迭代器,用于指向反向搜索找到的第一个逗号
while(getline(infile,textline))//getline函数将istream参数作为返回值,可用作读取结束判断条件
{
rcomma=find(textline.rbegin(),textline.rend(),',');//rcomma指向从后往前的最后一个逗号
age=atoi(string(rcomma.base(),textline.end()).c_str());//string转int,rcomma.base()表示将反向迭代器rcomma转换为从前往后移动的普通迭代器
agemap.insert(make_pair(age,textline));//将年龄和完整信息插入multimap
} multimap<int,string>::reverse_iterator map_it=agemap.rbegin();//从后往前输出 int N=;//假定要输出年龄最大的前10个
while(map_it!=agemap.rend() && N-- >)//按年龄降序输出元素
{
cout<<map_it->second<<endl;
++map_it;
} return ;
}

persons.txt

Ted Elliott,9876541198611121512,27
Peter Twist,52478198901243122,24
Terry Rossio,456871198804096012,25
George Marshall Ruge,510402198904070919,24
Brian Morris,51068119830104411X,30
Christopher Masterson,432502198908193032,24
Mel Colm-Cille Gerard Gibson,431102198911046233,24
Tim,511621198603095910,27
gdfgdf,371326198806230018,25
gdfg,41150219871015966X,26
gdfdf,620422198801191911,25
gdfgfd,411325198710241333,26
gdff,140522198804301013,25
gdfg,230204198801180714,25
dfgfd,510704198706063514,26
gfdgdf,610424198906172881,24
gdfgfd,513922198511210031,28
uykuy,320911198901061214,24
jghjj,51302919890906659X,24
jhhjh,612731198809280436,25
jhgjhg,650103198902056022,24
jghg,51070319790525972X,34
jghjh,510681198810130315,25
hgjhg,510304198706071010,26
jghjhg,320382198708300431,26
jhgjg,340321198903154709,24

读取文件并找出年龄最大的N个人-兰亭集市笔试题的更多相关文章

  1. R中读取文件,找不到路径问题 No such file or directory

      R中读取文件,找不到路径问题 No such file or directory 近日,读取文件时.出现例如以下问题 > passenger = read.csv('internationa ...

  2. BD面试题1-两个大文件中找出公共记录[转载]

    转自:https://blog.csdn.net/tiankong_/article/details/77234726#commentBox 1.题目 给定a.b两个文件,各存放50亿个url,每个u ...

  3. 通过 File API 使用 JavaScript 读取文件

    原文地址:http://www.html5rocks.com/zh/tutorials/file/dndfiles/ 简介 HTML5 终于为我们提供了一种通过 File API 规范与本地文件交互的 ...

  4. Python每日一练(2):找出html中的所有链接(Xpath、正则两个版本)

    要在hrml文件中找出特定的内容,首先需要观察该内容是什么东西,在什么位置,这样才能找出来. 假设html的文件名称是:"1.html".href属性全都在a标签里. 正则版: # ...

  5. 如何快速定位找出SEGV内存错误的程序Bug

    通过查看php日志/usr/local/php/var/log/php-fpm.log,有如下警告信息: [16-Mar-2015 16:03:09] WARNING: [pool www] chil ...

  6. 【转】文件中有10G个整数,乱序排列,要求找出中位数

    题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数.内存限制为 2G.只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存). ...

  7. 如何快速找出Linux中的重复文件

    md5sum | sort | uniq -w32 --all-repeated=separate [1]find -not -empty -type f -printf “%s\n” :find是查 ...

  8. shell在一个大文件找出想要的一段字符串操作技巧

    昨天端午,晚上的时候接了一个电话,我朋友的公司,数据库被两个工作没多久的phper给弄坏了,具体就是把一个字段值,给全表弄成一个了名字了,当然这个是可以配置了禁止全表更新数据库,这下可急坏了,找到我, ...

  9. Linux/Unix 怎样找出并删除某一时间点的文件(转)

    在Linux/Unix系统中,我们的应用每天会产生日志文件,每天也会备份应用程序和数据库,日志文件和备份文件长时间积累会占用大量的存储空间,而有些日志和备份文件是不需要长时间保留的,一般保留7天内的文 ...

随机推荐

  1. windows系统的对象管理

    windows中的对象和高级编程语言中所说的对象还欧区别,准确来讲,windows中的对象其实指的是一种数据结构并且是一种带着“对象头(object head)” 的数据结构!  所以windows中 ...

  2. redis哨兵集群、docker入门

    redis-sentinel主从复制高可用 Redis-Sentinel Redis-Sentinel是redis官方推荐的高可用性解决方案,当用redis作master-slave的高可用时,如果m ...

  3. 阿里云部署 Flask + uWSGI + Nginx

    一.引言 今天入手了一台阿里云服务器,是centeros 7.5版本.本文解决的是 Flask 的部署问题.假设你的Flask的应用已经完成,现在只是部署的问题,本文以部署我的二次开发微信订阅号的项目 ...

  4. JS根据userAgent值来判断浏览器的类型及版本【转】

    转自:http://blog.csdn.net/sunlovefly2012/article/details/22384255 JavaScript是前端开发的主要语言,我们可以通过编写JavaScr ...

  5. js中将Object转换为String函数代码

    经常会碰到结果对象是object而无法查看该对象里面的内容而苦恼,有下面这个函数就好了,可以将其转化为字符串类型,然后就可以打印出来了,具体代码如下: function obj2string(o){ ...

  6. python全栈开发从入门到放弃之推导式详解

    variable = [out_exp_res for out_exp in input_list if out_exp == 2] out_exp_res: 列表生成元素表达式,可以是有返回值的函数 ...

  7. delphi程序中定义热键

    delphi程序中定义热键   用到3个API函数          BOOL RegisterHotKey        (        HWND hWnd,        //响应该热键的窗口句 ...

  8. Linux系统——vim编辑器

    一.Linux系统中最常用的文本编辑器 vi:类Unix系统中默认的文本编辑器 vim:vi编辑器的增强版 作用:创建或修改文本文件:维护Linux系统中各种配置文件 二.三种切换模式命令模式输入模式 ...

  9. 2017浙江省赛 H - Binary Tree Restoring ZOJ - 3965

    地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3965 题目: iven two depth-first-search ...

  10. hihocoder1479 三等分

    地址:http://hihocoder.com/problemset/problem/1479 题目: 三等分 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近 ...