容器分为三种

1.序列性容器 vector list deque

2.关联型容器 set multiset map multimap。。

3.容器配接器 stack quede

所有容器:

c.begin() 返回指向链表第一个元素的迭代器。
c.end() 返回指向链表最后一个元素之后的迭代器
c.rbegin() 返回逆向链表的第一个元素,即c链表的最后一个数据。
c.rend() 返回逆向链表的最后一个元素的下一个位置,即c链表的第一个数据再往前的位置。
c.front() 返回链表c的第一个元素。
c.back() 返回链表c的最后一个元素。
c.size() 返回链表c中实际元素的个数。

1.容器vector 详解

vector初始化方法
vector arr(5) 声明一个初始大小为5的int向量
vector arr(5,4) 定义五个四
vector arr<arr1.begin(),arr1.end()> 用另一个同类型的指针赋值
vector取值操作
.front取第一个元素
.back取最后一个元素
成员函数
clear()清理所有元素
erase(pos)清理指定元素
erase(begin,end)清理指定范围的元素
insert(pos,elem)在指定处插入元素 包括一下pos全是指针 表示在指针位置插入
insert(pos,n,elem)在指定处插入一系列元素
insert(pos,begin,end)在指定处插入一系列元素
push_back(i)在后面插入指定元素
pop_back()删除最后的元素
resize(num)重定义规格
empty()为空返回true

2.list容器详解

list是一个双向链表
list初始化方法
list q§;
list q(p.begin(),p.end())
list q(5,6)
数据的插入删除操作
push_back() 放后面
push_front() 放前面
pop_back() 删除后面
pop_front() 删除前面
clear() 清楚数据
erase(position) 删除指定迭代器的数据
erase(begin,end) 删除一部分数据
remove()移除表中匹配值的元素
remove_if(fun) 删除满足指定条件的函数
insert(position,num)在指定位置插入 指针不允许±num
insert(position,begin,end) 在指定位置插入 一系列值
p.unique()删除相邻重复的元素
成员函数
empty()
size()
resize()
sort()
reverse()
merge() 合并两个有序链表
swap(list q) 交换两个链表

3. deque详解

继承list
初始化方法与前面类似
支持[]或者at随机访问
front()访问第一个元素
back()访问最后一个元素
push_back()从队列后面压入数据
push_front()从队列后面压入数据
pop_back()从队列后面删除数据
pop_front()从队列前面删除数据
大部分与之前的重复
insert()
size()
empty()

4.stack详解

push()会将一个元素放入stack中。
top()会返回stack中的栈顶元素,返回的是reference,可以就地修改值。
pop()移除栈顶元素,无返回值。
size()返回stack长度。
empty()返回stack是否为空。

5.map详解

insert(pair<int,string>(1,“le”)) 插入操作
p[i] = “simple”; 插入操作
map<int,string>::iterator it; it = p.begin(); it->first it->second //成员的访问
count(key) 寻找键值
find(key) 返回对应键值的迭代器
lower_bound(key) return返回下界的指针
upper_bound(key) return上界的指针
erase()可以以迭代器 键值 或者迭代器区间删除数据
cout<first <<"->"<second<<endl;

6. set详解

  • count(统计次数) :统计次数
  • 遍历


set<int>::iterator it = s.begin();  
for(;it != s.end();it++)
cout << *it;
cout<<"set 的 size 值为 :"<<s.size()<<endl;  
cout<<"set 的 maxsize的值为 :"<<s.max_size()<<endl;
cout<<"set 中的第一个元素是 :"<<*s.begin()<<endl;
cout<<"set 中的最后一个元素是:"<<*s.end()<<endl;
7.string详解

string substr(int pos = 0,int n = npos) const;//返回pos开始的n个字符组成的字符串
find(‘c’) 返回字符串中‘c’的下标
find(“456”) 返回字符串首字符的下标
replace(pos,1,“ss”) 将下标pos的第一个替换成ss
replace(begin,end," ") 将begin 到 end的位置替换成空
replace(front,n,str) 用另一个字符串替换从front开始n个字符

附加cstring 该成员函数第一个单词都大写

cstr8.Replace(‘o’,‘a’); //把’o’替换为’a’
cstr8.Replace(L"haha",L"toto"); //字符串替换
Insert
cstr8.Insert(5,L"haha"); //指定位置插入字符串
cstr8.Insert(6,‘h’); //指定位置插入字符
6.Delete、Remove
cstr8.Delete(5,2); //从指定位置(5)删除若干个(2)字符
cstr8.Remove(‘o’); //移除所有’o’
查找
cstr8.Find(‘o’); //查找第一个’o’
cstr8.Find(‘o’,5); //从左起第5个查
cstr8.FindOneOf(L"aeiou"); //查找集合中的任一个
cstr8.ReverseFind(‘o’); //反向查找