C++模板类学习笔记

STL常用容器总结

vector<T>list<T>map<T1, T2> multimap<T1, T2>deque<T>set<T> multiset<T>stack<T>queue<T>
构造函数vector<T> v; //默认构造,常用
vector<T> u(const vector<T> &v); //拷贝构造
vector<T> u(v.begin(), v.end());
vector<T> v(n, elem);
list<T> lst;
list<T> l(const list<T> &lst); list<T> l(lst.begin(), lst.end());
list<T> lst(n,elem);
map<T1, T2> m
map<T1, T2> mp(const map<T1, T2> &m)
deque<T> d; deque<T> deq(d.begin(), d.end());
deque<T> d(n, elem);
deque<T> deq(const deque<T> &d);
set<T> s;
set<T> st(const set<T> &s);
stack<T> s
stack<T> stk(const stack<T> &s);
queue<T> q
queue<T>& que(const queue<T> &q);
赋值操作vector<T>& operator=(const vector<T> &v); //等号赋值
assign(v.begin(), v.end());
assign(n, elem);
list<T>& operator=(const list<T> &lst);
assign(lst.begin(), lst.end());
assign(n, elem);
map<T1, T2>& operator=(const map<T1, T2> &m)deque<T>& operator=(const deque<T> &deq);
assign(d.begin(), d.end());
assign(n, elem);
set<T>& operator=(const set<T> &s)stack<T>& operator=(const stack<T> &s)queue<T>& operator(const queue<T> &q)
容量和大小操作empty(); //判断是否为空
capacity(); //容器的容量
size(); //容器中元素的个数
resize(int num); //重新指定大小为num,若容器变长则以默认值填充;若变短,删除末尾多余元素
resize(int num, elem); //重新指定大小为num,若容器变长,则以elem填充;若变短,删除末尾多余元素
empty();
size();
resize(int num);
resize(int num, elem);
empty();
size();
empty();
size();
resize(int num);
resize(int num, elem)
empty();
size();
empty();
size();
empty();
size();
插入和删除操作push_back(elem); //尾部插入元素elem
pop_back(); //删除最后一个元素
insert(const_iterator pos, elem); //迭代器指定位置pos插入元素1个elem,返回新数据的位置
insert(const_iterator pos, int n, elem); //从迭代器指定位置pos插入n个元素elem
insert(const_iterator pos, lst.begin(), lst.end()); //在指定位置pos插入lst的[begin,end]区间元素
erase(const_iterator pos); //删除迭代器指定位置pos的元素
erase(const_iterator start, const_iterator end); //删除从迭代器start到end之间的元素
clear(); //清空
push_back(elem);
pop_back();
push_front(elem); //头部插入元素elem
pop_front(); //删除第一个元素 insert(const_iterator pos, elem);
insert(const_iterator pos, int n, elem);
insert(const_iterator pos, lst.begin(), lst.end());
erase(const_iterator pos);
erase(const_iterator start, const_iterator end);
clear();
remove(elem); //删除容器中所有与elem匹配的元素
insert(elem);
erase(const_iterator pos);
erase(mp.begin(), mp.end());
erase(key); //删除容器中键为key的元素
clear();
push_back(elem);
pop_back();
push_front();
pop_front();
insert(const_iterator pos, elem);
insert(const_iterator pos, int n, elem);
insert(const_iterator d.begin(), d.end());
erase(const_iterator pos);
erase(const_iterator start, const_iterator end);
clear();
insert(elem);
erase(const_iterator pos);
erase(mp.begin(), mp.end());
erase(elem); //删除容器中为elem的元素
clear();
push(elem); //栈顶添加一个元素
pop(); //栈顶删除一个元素
push(elem); //向队尾添加一个元素
pop(); //从队头删除一个元素
读取和互换操作at(int idx); //返回索引为idx的数据
operator[int idx]; //返回索引为idx的数据
front(); //返回容器中第一个元素的数据
back(); //返回容器中最后一个元素的数据
swap(vector<T> v); //将v与调用swap()的容器元素互换
front();
back();
swap(list<T> lst);
swap(map<T1, T2> mp);at(int idx);
operator[int idx]
front();
back();
swap(deque<T> d);
swap(set<T> s)top(); //返回栈顶元素front(); //返回队头元素
back(); //返回队尾元素
其它操作reserve(int n); //容器预留n个元素的位置,预留位置不初始化,元素不可访问reverse(); //反转链表
sort(); //链表排序
find(key); //查找键为key的元素是否存在,若存在,则返回该元素的迭代器;若不存在,则返回m.end()
count(key); //统计键为key的元素的个数
-find(elem); //查找值为elem的元素是否存在,若存在,则返回该元素的迭代器;若不存在,则返回s.end()
count(elem); //统计值为elem的元素的个数
--

后续继续更新算法学习部分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值