STL总结

容器分为三种

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 用另一个同类型的指针赋值
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(1,“le”)) 插入操作
p[i] = “simple”; 插入操作
map::iterator it; it = p.begin(); it->first it->second //成员的访问
count(key) 寻找键值
find(key) 返回对应键值的迭代器
lower_bound(key) return返回下界的指针
upper_bound(key) return上界的指针
erase()可以以迭代器 键值 或者迭代器区间删除数据
cout"

6. set详解
  • count(统计次数) :统计次数
  • 遍历
   set::iterator it = s.begin();  
           for(;it != s.end();it++)
           cout << *it;
    cout<<"set 的 size 值为 :"<
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’); //反向查找

你可能感兴趣的:(个人归纳)