C++ Primer笔记 容器和算法(2)
来源:互联网 发布:淘宝美工面试丢人了 编辑:程序博客网 时间:2024/06/05 18:42
erase 删除后 返回的是删除元素的后一个迭代器位置
重置元素和交换元素
c.swap(c2)
c.assign(b,e)
c.assign(n,t) (迭代器不能是指向c的)
容器可以自动增长
像vector这种增长代价比list要大
capacity()和reserve()
一般会预留比size大的空间,当不得不重新分配内存时候,会加倍当前容量的分配策略
也可以手动reserve(size) 分配
deque可以随机访问
int main(){//如何正确的删除所有元素 循环int a[]={1,2,3,4,5,6,7,8,9};vector<int> v(a,a+6);for(vector<int>::iterator it=v.begin();it!=v.end();){it=v.erase(it);}for(vector<int>::iterator it=v.begin();it!=v.end();it++){cout<<*it<<endl;}cout<<v.size()<<endl;getchar();return 0;}
重置元素和交换元素
c.swap(c2)
c.assign(b,e)
c.assign(n,t) (迭代器不能是指向c的)
容器可以自动增长
像vector这种增长代价比list要大
capacity()和reserve()
一般会预留比size大的空间,当不得不重新分配内存时候,会加倍当前容量的分配策略
也可以手动reserve(size) 分配
deque可以随机访问
String s4(s3.begin(),s3.end())
适配器
1. Stack<int> stack(deq)‘
Stack,queue都基于deque实现
2. Priority_queue 基于vector实现
栈
s.empty()
s.size()
s.pop()
s.top()
s.push(item)
队列
q.empty()
q.size()
q.pop()
q.front()
q.back()
q.top()
q.push()
关联容器
Map与set
Map:key-value
Set:一个key
Multimap:同一个键多次出现的map类型
Multiset:同一个键多次出现的set类型
1.Pair 类型
创建与初始化: pair<string,string> p;
p.first 第一个元素 p.second 第二个元素
重新生成: pair<string,string>next;
Next=make_pair(first,last);
也支持直接赋值
Next.first=xx. Next.second=xx;
2.关联容器:
2.1 map
Map<ISBN,sales> bookstore;
Map<k,v>::key_type , mapped_type,value_type(pair类型)
0 0
- c++primer学习笔记 - 容器和算法
- C++ Primer笔记 容器和算法(2)
- C++Primer新笔记之----容器和算法
- C++ Primer笔记 容器和算法(1)
- 【C++ Primer 学习笔记】: 容器和算法之【顺序容器】
- 【C++ Primer 学习笔记】: 容器和算法之【关联容器】
- <C++Primer>第四版 阅读笔记 第二部分 “容器和算法”
- C++primer(第四版)复习笔记—第二篇:容器和算法
- C++primer【笔记】 顺序容器
- C++ Primer笔记 容器和算法--11.1节
- C++ Primer笔记 容器和算法--p341 习题
- C++ Primer(第4版)-第2部分:容器和算法——学习笔记
- C++ Primer笔记 容器和算法---写容器元素的算法
- 【足迹C++primer】35、特定容器算法
- c++ primer笔记之容器
- c++Primer笔记(十 关联容器)
- 【C++ Primer 学习笔记】: 容器和算法之【泛型算法】
- 《C++ Primer》---第二部分:容器和算法
- 经验总结32--c#,反序列化
- 无法获得锁 /var/lib/dpkg/lock - open (11: 资源临时不可用)
- QtWebkit 使用方法
- Spring框架之IOC
- easy_install和pip区别 python
- C++ Primer笔记 容器和算法(2)
- Spring 注解学习手札(二) 控制层梳理
- 使用xml文件建立Button,EditText以及文字的点击效果Selector
- vim的常用操作
- Spring 注解学习手札(三) 表单页面处理
- Qt之QtWebKit(一)
- Google的Java常用类库 Guava资料
- 在一个窗口里面加载另一个窗口方法
- Spring 注解学习手札(四) 持久层浅析