C++primer笔记(21)
2015-10-25 19:03
295 查看
1:deque与vector比较:
a:vector只有push_back(n), deque有push_back(n)和push_front(n);
b:vector只有pop_back(), deque有pop_back(),和pop_front();
c:vector和deque都是顺序容器数组.
d:存在于std空间中,都有相应的头文件。
2:list
a:实例化list; list<int> a;
b:a.push_front(n) //从前面插入n; a.push_back(n)//从后面插入n;
c:list不是数组,不能使用下标,只能使用迭代器。std:list<int>::iteraor iter;
d:插入元素
a.insert(a.begin(), 10) // 在a.begin()处插入10.
a.insert(a.end(), 4, 20) //在a.end()处插入4个20.
a.insert(a.begin(), b.begin(), b.end()) // 在a.begin处插入从b.begin()到b.end()处所有的元素。3个iterator。
a.insert()才会返回迭代器,并指向添加的最后一个元素
e:/删除
a.erase(iterator)//删除迭代器指向的元素;
a.erase(a.begin(), iterator)// 从a.begin()到iterator。从处删,iterator处不删。
f:反转和排序
a.reverse();
a.sort();
3:map与multimap
a: map<int, string> a; multimap<int, string>ma;
b:a.insert(map<int, string>::value_type(1, "one")); //用value_type 变成一对
a.insert(make_pair(-1, "M one")); / /变成一对的方法 make_pair()
a.insert(pair<int ,string>(1, 'one')); //
a[10] = "one handuede"; //类似于数组,不能用于ma;
c: map<int, string>::iterator im;
im = a.begin();
cout<<im->first;
cout<< im->second.c_str();
d:查找和判断
对于multimap: im = ma.find(45);
if(im != ma.end())
size_t = ma.count(45); //查找结果的个数
e:删除
if(im.erase(45) >0)cout<<"删除成功" // 通过key(45)删除
iterator = im.found(45) ; im.erase(iterator); //通过迭代器删除
a:vector只有push_back(n), deque有push_back(n)和push_front(n);
b:vector只有pop_back(), deque有pop_back(),和pop_front();
c:vector和deque都是顺序容器数组.
d:存在于std空间中,都有相应的头文件。
2:list
a:实例化list; list<int> a;
b:a.push_front(n) //从前面插入n; a.push_back(n)//从后面插入n;
c:list不是数组,不能使用下标,只能使用迭代器。std:list<int>::iteraor iter;
d:插入元素
a.insert(a.begin(), 10) // 在a.begin()处插入10.
a.insert(a.end(), 4, 20) //在a.end()处插入4个20.
a.insert(a.begin(), b.begin(), b.end()) // 在a.begin处插入从b.begin()到b.end()处所有的元素。3个iterator。
a.insert()才会返回迭代器,并指向添加的最后一个元素
e:/删除
a.erase(iterator)//删除迭代器指向的元素;
a.erase(a.begin(), iterator)// 从a.begin()到iterator。从处删,iterator处不删。
f:反转和排序
a.reverse();
a.sort();
3:map与multimap
a: map<int, string> a; multimap<int, string>ma;
b:a.insert(map<int, string>::value_type(1, "one")); //用value_type 变成一对
a.insert(make_pair(-1, "M one")); / /变成一对的方法 make_pair()
a.insert(pair<int ,string>(1, 'one')); //
a[10] = "one handuede"; //类似于数组,不能用于ma;
c: map<int, string>::iterator im;
im = a.begin();
cout<<im->first;
cout<< im->second.c_str();
d:查找和判断
对于multimap: im = ma.find(45);
if(im != ma.end())
size_t = ma.count(45); //查找结果的个数
e:删除
if(im.erase(45) >0)cout<<"删除成功" // 通过key(45)删除
iterator = im.found(45) ; im.erase(iterator); //通过迭代器删除
相关文章推荐
- 深入C++中构造函数、拷贝构造函数、赋值操作符、析构函数的调用过程总结
- C++标准库头文件
- 深入理解C++虚函数表
- 回调函数在C/C++中的使用
- 回调函数在C/C++中的使用
- 为什么设计模式java实现的书比较多,C++却很少.
- [C++] inline function
- 岛屿的个数(LintCode)
- C++调用python
- #Pragma Pack(n)与内存分配
- C/C++各种数据类型转换汇总
- C++基础学习积累
- 判断二维平面上两线段是否相交
- 初学C语言----指针深入了解 :指针与函数
- c++面向对象程序设计
- 初学C语言----指针深入了解 :结构体指针
- C++运算符重载
- 初学C语言----枚举
- 初学C语言----结构体
- 初学C语言--字符串语法及函数