检索- STL的使用 & 库函数熟悉
来源:互联网 发布:自学cda数据分析师考试 编辑:程序博客网 时间:2024/05/22 01:55
POJ1806词典
解题思路:
这道题第一反应就是用map来做,但是具体实现中遇到了许多的问题。
- 输入如何处理?
- string 无法用题目提示中的c语言I/O输入输出
- 如何在map中查找存在与否
参考了网上的代码
具体解决方案如下
应用stl的map
- 关于输入
while((tmp = cin.get()) != '\n') { cin.putback(tmp);//把tmp放回iostream的缓冲区 cin >> eng >> fore; Search[fore] = eng; cin.get(); } while(cin >> fore) { iter = Search.find(fore); if(iter != Search.end() ) cout << Search[fore]<<endl; else cout <<"eh"<<endl; }
其实输入我们要解决的问题就是从读入字典对应到读入查找的那个空行
- 首先要知道 每次cin 结束的空行都是会留在缓冲区里的
- 所以每一次输入结束的时候都要把空行cin.get()
但是中间的那条空行 就是用先读入 如果不是空行再放回缓冲区的方法来解决。
关于map
- 查找的时候 可以用find 和 count
if(Search.count(fore) != 0) cout << Search[fore]<<endl;
或者
iter = Search.find(fore); if(iter != Search.end() ) cout << Search[fore]<<endl;
应用库函数来解决输入的问题 & char[]来储存单词,二分查找与排序解决问题。
词典里的结构定义
struct node{ char eng[12], fore[12]; bool operator < (const node &o)const {return (strcmp(fore, o.fore) < 0);}};
阅读全文
0 0
- 检索- STL的使用 & 库函数熟悉
- 熟悉STL顺序容器的使用之vector
- STL 库函数的思考
- STL总结——经常使用的库函数
- deque的STL常用库函数
- foj 1054 ;可用STL的库函数
- unique函数的使用方法(STL库函数)
- lower_bound函数的用法(STL库函数)
- STL库函数sort的用法详解
- 熟悉CListCtrl控件的使用。
- 熟悉工作线程的使用
- 熟悉python循环的使用
- game_class,熟悉sprite的使用
- Mac使用的熟悉过程
- ctime库函数的使用
- readline库函数的使用
- ctime库函数的使用
- 库函数的使用
- SQL数据属性的修改方法
- banner
- JAVA设计模式之单例模式2
- 23种设计模式(9):访问者模式
- redux美元符$
- 检索- STL的使用 & 库函数熟悉
- Linux common clock framework(2)_clock provider
- (113)UUID
- AXI Uartlite学习(二)UART LOOP
- serlet运行原理和生命周期
- Linux目录及常用命令介绍(一)
- 一些PHP性能的优化
- Spring Boot从入门到精通课程
- Jupyter notebook改变默认的的工作目录