大一暑假STL专练 STL总结

STL总结

map:
定义:map<a,b>f;(a,b表示两个数据类型)
插入数据:f[a]=b;f.insert(pair<a,b>(a,b));
查找数据:f.find(a);找到返回地址,否则返回f.end();
删除数据:f.erase(a);
c++中常用函数:
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数
empty() 如果map为空则返回true
end() 返回指向map末尾的迭代器
erase() 删除一个元素
find() 查找一个元素
insert()插入元素
max_size()返回可以容纳的最大元素个数
size() 返回map中元素的个数
swap() 交换两个map
————————————————————————————————————————
set:
定义:setf;
特点:每个数据只能出现一次,不能重复!且所有元素会根据元素的键值自动排序。
c++中常用函数:
begin()–返回指向第一个元素的迭代器

clear()–清除所有元素

count()–返回某个值元素的个数

empty()–如果集合为空,返回true

end()–返回指向最后一个元素的迭代器

equal_range()–返回集合中与给定值相等的上下限的两个迭代器

erase()–删除集合中的元素

find()–返回一个指向被查找到元素的迭代器

get_allocator()–返回集合的分配器

insert()–在集合中插入元素

lower_bound()–返回指向大于(或等于)某值的第一个元素的迭代器

key_comp()–返回一个用于元素间值比较的函数

max_size()–返回集合能容纳的元素的最大限值

rbegin()–返回指向集合中最后一个元素的反向迭代器

rend()–返回指向集合中第一个元素的反向迭代器

size()–集合中元素的数目

swap()–交换两个集合变量

upper_bound()–返回大于某个值元素的迭代器

value_comp()–返回一个用于比较元素间的值的函数
————————————————————————————————————————
vector:
定义:vectorf;
特点:相当于一个动态数组。
c++中常用函数:
c.clear() 移除容器中所有数据。
c.empty() 判断容器是否为空。
c.erase(pos) 删除pos位置的数据
c.erase(beg,end) 删除[beg,end)区间的数据
c.front() 传回第一个数据。
c.insert(pos,elem) 在pos位置插入一个elem拷贝
c.pop_back() 删除最后一个数据。
c.push_back(elem) 在尾部加入一个数据。
c.resize(num) 重新设置该容器的大小
c.size() 回容器中实际数据的个数。
c.begin() 返回指向容器第一个元素的迭代器
c.end() 返回指向容器最后一个元素的迭代器
————————————————————————————————————————
Bound:
upper_bound():返回的是被查序列中第一个大于查找值得指针;

lower_bound():返回的是被查序列中第一个大于等于查找值的指针;
使用格式:
lower(upper)_bound(a,b,c);(a表示起始位置,b表示结束位置,c表示要查找的元素).
————————————————————————————————————————
string:
特点:就相当于一个字符串,字符串怎么用它就怎么用。
字符串截取函数:s.substr(start,length);
start表示起始位置,length表示需要截取的长度。
————————————————————————————————————————
队列和优先队列:
队列:queuef;
f.empty();判断队列是否为空。
f.push();添加元素。
f.size();元素个数。
f.front();显示第一个元素。
f.back();显示最后一个元素。
f.pop();删除第一个元素。
优先队列:priority_queueQ;
特点:不定义的花队列元素自动按照从大到小排列。
优先队列的三种:
1.一般从大到小:priority_queueQ;
2.一般从小到大:priority_queue<int,vector,greater>Q;
3.结构体自定义:
struct node
{
friend bool operator <(const node a,const node b)
}
————————————————————————————————————————

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值