C++ Primer笔记 容器和算法(1)
来源:互联网 发布:学生证生成器软件手机 编辑:程序博客网 时间:2024/06/05 14:23
C++ 容器和算法(1)
“泛型算法”:
1. 算法可以作用于不同的容器类型。
2. 容器容纳多种不同类型元素
顺序容器: vector list deque(全称double-ended queue)
适配器: stack queue priority_queue
定义: vector<string> svere;
C c(b,e)当[b,e) 左开右闭之间的元素。
C c(n,d)初始化n个d
复制构造 vector<int> ivec; vector<int> ivec2(ivec)
利用迭代器传递不同的类型容器之间的数据
Vector<string>::iteratormid=svec.begin()+svec.size()/2;
Deque<string> front(svec.begin(),mid);
什么类型可以做容器的元素类型( 可复制,可赋值) //引用不行 IO也不行
测试列子:
Vector<Foo> empty;
Vector<Foo> bad(10);
Vector<Foo> ok(10,1);
其中Foo 无默认构造函数 , 但有int型形参构造函数.
class Foo{public: int data; Foo(int a){this->data=a;}}; int main(){ //vector<Foo> foo1(10,1);//对 创建个值为的foo1顺序表 //vector<Foo> foo2(10); //错 没有默认无参构造函数 //vector<Foo> foo3; //对 根本没有调用任何构造函数 //Foo f();//像是声明了一个函数 这可不是对象实例化哦因为没有f()这个构造函数 Foo f;//直接报错因为没有无参构造函数 //Foo *f=new Foo();//报错同上 //Foo *f=new Foo;//报错同上 getchar(); return 0;}
二维嵌套
Vector< vector<string> >lines; // > >之间一定要加空格,不然会当成>>位移运算符
迭代器和迭代器范围
Vector 和deque 迭代器可以 iter+n iter-n
List不能随机访问,不能作比较 < >之类的
迭代器范围
End指向最后一个元素的下一个位置
[begin,end)
Size_type iterator const_iterator
c.begin() c.end() c.rbegin()翻转 c.rend()
c.push_back(x) c.insert(p,t) c.push_front(x)(只能list和deque) c.insert(p,n,t)
更新后注意重置迭代器
While(first!=v.end())
{
First=v.insert(++first,42);
++first;
}
c.resize(n,t) 调整为n,用t来补充不够的
list<int>::referencelast=*list.begin();
last为引用
c[n] c.at(n) 可以用(vector deque)
c.pop_back() 删除容器c的最后一个元素
c.pop_front() 只适用于list deque
P286
- c++primer学习笔记 - 容器和算法
- C++ Primer笔记 容器和算法(1)
- C++Primer新笔记之----容器和算法
- C++ Primer笔记 容器和算法(2)
- 【C++ Primer 学习笔记】: 容器和算法之【顺序容器】
- 【C++ Primer 学习笔记】: 容器和算法之【关联容器】
- <C++Primer>第四版 阅读笔记 第二部分 “容器和算法”
- C++primer(第四版)复习笔记—第二篇:容器和算法
- C++primer【笔记】 顺序容器
- C++ Primer笔记 容器和算法--11.1节
- C++ Primer笔记 容器和算法--p341 习题
- C++ Primer笔记 容器和算法---写容器元素的算法
- 【足迹C++primer】35、特定容器算法
- c++ primer笔记之容器
- c++Primer笔记(十 关联容器)
- 【C++ Primer 学习笔记】: 容器和算法之【泛型算法】
- 《C++ Primer》---第二部分:容器和算法
- [C++]容器和算法
- 每天一个JavaScript实例-使用带有定时器的函数闭包
- 第二章 线性表 思维导图
- Android 底部TabActivity(0)——开篇(界面分析|系列文章目录)
- shell 批量压缩指定目录及子目录内图片
- 简单模仿易信UI
- C++ Primer笔记 容器和算法(1)
- 巴什博奕
- IOS 开发入门总结
- Android scrollTo() scrollBy() Scroller讲解及应用
- zoj 3810 A Volcanic Island
- Ralph Lauren Outlet And also law enforcement agency suggest it had been a new unchosen taking pictur
- Cheap Polo Ralph Lauren Everything that is important is definitely that you really interact with the
- Android SwitchButton(滑动开关)
- QT5-三维