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. 十個必用的 Vim Plugin

    ◎ The NERD Tree 操作 Vim 時,通常都在 Terminal 底下作用,無法像一般的 GUI    應用程式可以以樹狀目錄來瀏覽檔案. The NERD Tree    是一將檔案目錄 ...

  2. 【我的Android进阶之旅】推荐一款视频转换GIF图片格式的转换工具(Video to GIF)

    一.背景 最近想把一些Android Demo的运行效果图获取下来,但是一直使用真机进行调试,在电脑上不好截取一段gif动画.而之前使用模拟器的时候可以使用 GifCam 工具进行屏幕动画截取.Gif ...

  3. 【市场调研与分析】Intel发力移动安全领域——By Me at 20140613

                                                    [市场调研与分析]Intel发力移动安全领域                               ...

  4. C#版-Redis缓存服务器在Windows下的使用

    Redis缓存服务器是一款key/value数据库,读110000次/s,写81000次/s,因为是内存操作所以速度飞快,常见用法是存用户token.短信验证码等 官网显示Redis本身并没有Wind ...

  5. 15.遇到window leaked的解决方法

    遇到这个可能是android:configChanges没有配置好 可以试试配置为这个 mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navig ...

  6. 八、网页版消息推送SDK-WebSockets

    介绍 由于项目组需求.最近在研究消息推送服务平台.结合业务和使用场景分析最终选择的是 Mosquitto 消息服务器. Mosquitto 服务器的安装.配置.集群搭建 我就不在这多说了.有兴趣的可以 ...

  7. MBR和GPT(分区)

    MBR:Master Boot Record GPT:Guid Partition Table (全局唯一标识符分区表) GPT is the new standard and is graduall ...

  8. mysql杀死线程

    查询 正在执行的事务:SELECT * FROM information_schema.INNODB_TRX 根据这个事务的线程ID(trx_mysql_thread_id): 可以使用mysql命令 ...

  9. Yii 2.x 和1.x区别以及yii2.0安装

    知乎上有个类似的问题:http://www.zhihu.com/question/22924271/answer/23085751 大致思路不会变,开发流程变化也不是很大.有变化的是1.yii2带入的 ...

  10. Curl https 访问

    如果访问https的网页,出现: curl: (60) SSL certificate problem: unable to get local issuer certificate 将 将 CURL ...