2017-08-21 15:42:01

writer:pprp

除了用到map以外,输入也是一个问题

用到了sscanf详情请看上一篇博客

/*
theme:第一章 - 分治算法
name: POJ 2503
writer:pprp
description:详情请见poj 2503
date:Monday 2017/8/21
*/ #include <bits/stdc++.h> using namespace std; map<string, string> mp; char ch1[], ch2[], ch3[], tmpch[];
int main()
{
while(gets(ch3))
{
if(strlen(ch3) == )
break;
sscanf(ch3,"%s %s",ch1,ch2);
mp.insert(make_pair(ch2,ch1));
} // map<string,string> ::iterator ii;
// for(ii = mp.begin(); ii != mp.end() ; ii++)
// {
// cout << ii->first << " " << ii->second << endl;
// } while(gets(tmpch))
{
bool tag = ;
map<string, string> :: iterator it;
it = mp.find(tmpch);
if(it != mp.end())
{
cout << mp[tmpch] << endl;
}
else
{
cout << "eh" << endl;
}
} return ;
}

之前我写的错误的代码:

插入以后遍历,发现只读出最后一个

map<key,value>mp

key不建议是char*指针,

map内部是一个红黑树,

比较key的时候比较的是char*一个地址,而不是他指向的字符串

所以要这样用

struct ptrCmp
{
bool operator()( const char * s1, const char * s2 ) const
{
return strcmp( s1, s2 ) < ;
}
}; map<const char*,const char*,ptrCmp> mp;

我测试了一下,没有用好,希望有大佬能给我展示可以用的代码;

POJ2503 STL map用法的更多相关文章

  1. c++ STL map 用法

    map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时 ...

  2. STL map 用法

    首先make_pair Pairs C++标准程序库中凡是"必须返回两个值"的函数, 也都会利用pair对象  class pair可以将两个值视为一个单元.容器类别map和mul ...

  3. STL map用法总结(multimap)

    2017-08-19 10:58:52 writer;pprp #include <map> #include <string> #include <iostream&g ...

  4. STL:map用法总结

    一:介绍 map是STL的关联式容器,以key-value的形式存储,以红黑树(平衡二叉查找树)作为底层数据结构,对数据有自动排序的功能.命名空间为std,所属头文件<map> 二:常用操 ...

  5. C++中的STL中map用法详解(转)

    原文地址: https://www.cnblogs.com/fnlingnzb-learner/p/5833051.html C++中的STL中map用法详解   Map是STL的一个关联容器,它提供 ...

  6. std::map用法

    STL是标准C++系统的一组模板类,使用STL模板类最大的好处就是在各种C++编译器上都通用.    在STL模板类中,用于线性数据存储管理的类主要有vector, list, map 等等.本文主要 ...

  7. POJ 3096 Surprising Strings(STL map string set vector)

    题目:http://poj.org/problem?id=3096 题意:给定一个字符串S,从中找出所有有两个字符组成的子串,每当组成子串的字符之间隔着n字符时,如果没有相同的子串出现,则输出 &qu ...

  8. 详解C++ STL map 容器

    详解C++ STL map 容器 本篇随笔简单讲解一下\(C++STL\)中的\(map\)容器的使用方法和使用技巧. map容器的概念 \(map\)的英语释义是"地图",但\( ...

  9. Features Track[STL map]

    目录 题目地址 题干 代码和解释 参考 题目地址 Features Track(ACM-ICPC 2018 徐州赛区网络预赛 ) 题干 代码和解释 题意:一个动画有许多 n 帧,每帧有 k 个点,点的 ...

随机推荐

  1. python - 用户交互/数据类型/格式化输出/运算符/流程控制单双多分支

    python:用户交互: 等用户输入,做反应: username=input("username:")password=input("password:")pr ...

  2. Eclipse集成SVN

    安装Subversion1.82(SVN)插件 简介    :SVN是团队开发的代码管理工具,它使我们得以进行多人在同一平台之下的团队开发. 解决问题:Eclipse下的的SVN插件安装. 学到    ...

  3. Jmeter(六)文件上传和下载文件

    一.Jmeter上传文件 编写脚本:               首先添加一个线程组,然后在线程组里面添加一个http请求,因为是发送数据,所有是post请求,写好上传的地址,然后写好文件路径     ...

  4. LVS-DR 配置测试

    LVS Lvs体系结构 Lvs工作模式(3种) NAT-网络地址转换模式 当用户请求到达调度器时,调度器将请求报文的目标地址(即虚拟IP地址)改写成选定的Real Server地址,同时报文的目标端口 ...

  5. 20165324 Java实验三 敏捷开发与XP实验

    20165324 Java实验三 敏捷开发与XP实验 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:何春江 学号:20165324 指导教师:娄嘉鹏 实验日期:2018年4月16日 ...

  6. Mac使用操作

    快捷键退出程序:Command + Q 快捷键关闭窗口:Command + W(关闭程序的窗口不一定是退出程序) 单击左上角黑苹果,菜单里面有强制退出 Finder菜单的偏好设置,高级设置菜单里面可以 ...

  7. 189. Rotate Array(两次反转)

    DescriptionHintsSubmissionsDiscussSolution   Pick One Rotate an array of n elements to the right by  ...

  8. Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) A. Andryusha and Socks

    地址:http://codeforces.com/contest/782/problem/A 题目: A. Andryusha and Socks time limit per test 2 seco ...

  9. spark restful 作业提交

    spark1.4起,在启动master进程时候,同时会有一个restful的服务器,可以接受RESTFUL的请求, 以下是提交应用的示例 curl -X POST http://tssloginsig ...

  10. C#小票打印机动态纸张尺寸

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...