STL细节

作者: simple乐 | 来源:发表于2018-09-27 19:16 被阅读7次

容器分为三种
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中实际元素的个数。
容器vector 详解
vector初始化方法
vector<int> arr(5)
vector<int> arr(5,4) 定义五个四
vector<int> 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
list容器详解
list是一个双向链表
list初始化方法
list<int> q(p);
list<int> q(p.begin(),p.end())
list<int> 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<int> q) 交换两个链表
deque详解
继承list
初始化方法与前面类似
支持[]或者at随机访问
front()访问第一个元素
back()访问最后一个元素
push_back()从队列后面压入数据
push_front()从队列后面压入数据
pop_back()从队列后面删除数据
pop_front()从队列前面删除数据
大部分与之前的重复
insert()
size()
empty()
stack详解
push()会将一个元素放入stack中。
top()会返回stack中的栈顶元素,返回的是reference,可以就地修改值。
pop()移除栈顶元素,无返回值。
size()返回stack长度。
empty()返回stack是否为空。
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()可以以迭代器 键值 或者迭代器区间删除数据
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'); //反向查找

相关文章

  • STL细节

    容器分为三种1.序列性容器 vector list deque2.关联型容器 set multiset map...

  • stl简介

    stl stl简介 1. 什么是STL? STL(Standard Template Library),封装基本数...

  • C++标准库结构与使用

    本文预览: 标准库和STL STL的六大组件 STL容器分类 STL容器使用 标准库和STL ** 我们在写C++...

  • GeekBand笔记: STL与泛型编程(容器)

    stl stl 6 componentsallocatorcontaineralgorithmiteratorfu...

  • Boolan - C++学习笔记 _STL - 第一周

    STL与泛型编程 一、STL是什么 STL(Standard TemplateLibrary),即标准模板...

  • C++ STL

    STL STL 是“Standard Template Library”的缩写,中文译为“标准模板库”。STL 是...

  • C++基础一文通(六)STL

    一. STL 标准模板库 STL(Standard Template Library,标准模板库) STL 从广义...

  • C++ STL是什么

    STL 组件主要包括容器,迭代器、算法和仿函数。STL 基本结构和 STL 组件对应。 STL 主要由迭代器、算法...

  • C++ STL编程

    一、STL简介 1.1 初识STL STL(Standard Template Library,即标准模版库)是一...

  • stl

    STL(标准模板库)基本概念 一、什么是STL STL(Standard Template Library,标准模...

网友评论

      本文标题:STL细节

      本文链接:https://www.haomeiwen.com/subject/zdlyoftx.html