词典

这篇博客讲述了如何使用C++的map容器来实现词典查找功能。通过建立词典结构体,利用sort进行外文单词的升序排序,采用二分查找提高查找效率。同时提到了map的内部实现原理,它基于二叉搜索树,允许快速按Key值访问元素。此外,还介绍了当单词不在词典中时输出'eh'的处理方式以及istringstream的相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

总时间限制: 3000ms 内存限制: 65536kB
描述

你旅游到了一个国外的城市。那里的人们说的外国语言你不能理解。不过幸运
的是,你有一本词典可以帮助你。

输入
首先输入一个词典,词典中包含不超过100000个词条,每个词条占据一行。
每一个词条包括一个英文单词和一个外语单词,两个单词之间用一个空格隔
开。而且在词典中不会有某个外语单词出现超过两次。词典之后是一个空行,
然后给出一个由外语单词组成的文档,文档不超过100000行,而且每行只包
括一个外语单词。输入中出现单词只包括小写字母,而且长度不会超过10。

输出
在输出中,你需要把输入文档翻译成英文,每行输出一个英文单词。如果某个
外语单词不在词典中,就把这个单词翻译成“eh”。

样例输入
dog ogday
cat atcay
pig igpay
froot ootfray
loops oopslay

atcay
ittenkay
oopslay


样例输出
cat
eh
loops

  比较简单的检索题,主要建立一个词典的结构体,然后建立完毕后用sort对外文进行升序排序,查找时直接进行二分查找,速度很快.值得注意的是构造词典时,词典的输入是以一个回车结束,所以可以使用 getchar() 函数来获取输入的第一个字符,如果是'\n',说明词典的输入停止.然后再输入待查找的外文.

看起来挺简单的题目:


                
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙星尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值