map与vector

原创 2007年10月01日 22:10:00
当向map容器中插入数据,用迭代器输出是会按顺序输出
如下:


#include <iostream>
#include <string>
#include <map>
using namespace std;
 

typedef pair <string, string> Str_Pair;

int main(void)
{

    map<string,string> mymap;

    typedef map<string,string>::iterator CIR;

 
    mymap.insert(Str_Pair("abcd","唐伯虎点秋香"));
    mymap.insert(Str_Pair("ab","唐伯虎点秋香"));
    mymap.insert(Str_Pair("abc","唐伯虎点秋香"));
    mymap.insert(Str_Pair("a","唐伯虎点秋香"));
   
    for(CIR npos=mymap.begin(); npos!=mymap.end();npos++)
    {
        cout<<npos->first<<"   "<<npos->second<<endl;
    }
 
    return 0;
}
 
输出结果为:

a   唐伯虎点秋香

ab   唐伯虎点秋香

abc   唐伯虎点秋香

abcd   唐伯虎点秋香

 
但是有的时候我们不要求输出有序,即按照插入的顺序输出
下面用vector容器模拟这种情况(对于查找这种方法速度没有map快)

#include <iostream>
#include <string>
#include <vector>
using namespace std;
 

typedef pair <string, string> Str_Pair;

 
int main(void)
{
    vector<Str_Pair> mymap;
    typedef vector<Str_Pair>::iterator CIR;
 
    mymap.push_back(Str_Pair("abcd","唐伯虎点秋香"));
    mymap.push_back(Str_Pair("ab","唐伯虎点秋香"));
    mymap.push_back(Str_Pair("abc","唐伯虎点秋香"));
    mymap.push_back(Str_Pair("a","唐伯虎点秋香"));
   
    for(CIR npos=mymap.begin(); npos!=mymap.end();npos++)
    {
        cout<<npos->first<<"   "<<npos->second<<endl;
    }
 
    return 0;
}
 
 
输出结果为:
abcd   唐伯虎点秋香
ab   唐伯虎点秋香
abc   唐伯虎点秋香

a   唐伯虎点秋香

 

C++学习笔记(字符串string、vector_deque、queue,multiset、map、multimap、容器拷贝问题)(复制粘贴,方便后面翻阅)

1.string操作#include #include #include //算法using namespace std;//STL standard template libary 标准模(m...
  • ccj659
  • ccj659
  • 2016年09月12日 11:04
  • 802

C++学习笔记(字符串string、vector_deque、queue,multiset、map、multimap、容器拷贝问题)

C++学习笔记(字符串string、vector_deque、queue,multiset、map、multimap、容器拷贝问题)(复制粘贴,方便后面翻阅) 2016-09-12 11:04 ...

MFC中STL容器中Vector,List,Map基本用法汇总

容器就是数据结构的泛指,迭代器就是指针的泛指,可以指向元素。它可以用来存储数据,就比如杯子用来装水一样。而STL中的容器有很多,它包括vector,list,map,deque,set等。我就简单列举...

STL中常用的vector,map,set,sort 用法 转

STL中的常用的vector,map,set,sort,pair用法 C++的标准模板库(Standard Template Library,简称STL)是一个容器和算法的类库。容器往往...

C++STL(vector,map,set,list)成员函数整理

/ *最近ACM比赛,用到的时候忘记成员函数了,贼尴尬,给以后比赛做下准备 */LIST: 构造函数   list c0; //空链表   list c1(3); //建一个含三个默认值是0的元素的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:map与vector
举报原因:
原因补充:

(最多只允许输入30个字)