C++常用STL


#include<bits/stdc++.h>
函数

Vector

构造
vector v; // 无参数版
vector v2(10); // 初始容量为 10 的 vector,每个元素为都为 string 的默认值
vector v3(10,“abc”); // 初始容量为 10,且每一个元素都为 abc

基本操作
v.push_back(10); // 将一个元素添加到容器的末尾
cout << v[0] << endl; // 访问索引为 0 的元素,即 10
v.erase(v.begin() + 1); // 删除索引为 1 的元素,(删除第2个元素)
v.erase(v.begin()+i,v.begin()+j);删除区间[i,j-1];区间从0开始
v.insert(v.begin() + 1,30); // 在索引为 1 的元素之前插入一个元素
v.clear(); // 删除所有元素
v.size(); //向量大小
sort(v.begin(),v.end()); //排序
v.empty() //为空返回true
二维数组
vector v;
vector vv;
vv.push_back(v);

遍历
vector::iterator it;
for(it=vec.begin();it!=vec.end();it++)
cout<<*it<<endl;

#include
find(first,last,value);
first ,last 参数代表范围,左闭右开,第三个 value 参数代表要查找的内容
它返回的也是一个迭代器,如果找到了这个元素,则返回指向这个元素的迭代器,如果没有,则返回 last 参数值。
vector::iterator i = find(v.begin(), v.end(), 10);

List

assign() 给list赋值
back() 返回最后一个元素
begin() 返回指向第一个元素的迭代器
clear() 删除所有元素
empty() 如果list是空的则返回true
end() 返回末尾的迭代器
erase() 删除一个元素
front() 返回第一个元素
get_allocator() 返回list的配置器
insert() 插入一个元素到list中
max_size() 返回list能容纳的最大元素数量
merge() 合并两个list
pop_back() 删除最后一个元素
pop_front() 删除第一个元素
push_back() 在list的末尾添加一个元素
push_front() 在list的头部添加一个元素
rbegin() 返回指向第一个元素的逆向迭代器
remove() 从list删除元素
remove_if() 按指定条件删除元素
rend() 指向list末尾的逆向迭代器
resize() 改变list的大小
reverse() 把list的元素倒转
size() 返回list中的元素个数
sort() 给list排序
splice() 合并两个list
swap() 交换两个list
unique() 删除list中重复的元素

String

string s;

  1. s.empty(); // s为空串 返回true
  2. s.size(); // 返回s中字符个数 类型应为:string::size_type
  3. s[n]; // 从0开始相当于下标访问
  4. s1+s2; // 把s1和s2连接成新串 返回新串
  5. s1=s2; // 把s1替换为s2的副本
  6. v1==v2; // 比较,相等返回true
  7. !=, <, <=, >, >= 惯有操作 任何一个大写字母都小于任意的小写字母
    string s1(“hello”);
    string s3=s1+”world”; //合法操作
    string s4=”hello”+”world”; //非法操作:两个字符串字面值相加
  8. =, s.assign() // 赋以新值
  9. swap() // 交换两个字符串的内容
  10. +=, s.append(), s.push_back() // 在尾部添加字符
  11. s.insert() // 插入字符
  12. s.erase() // 删除字符
  13. s.clear() // 删除全部字符
  14. s.replace(" “,”%20"); // 替换字符
    • // 串联字符串
  15. ==,!=,<,<=,>,>=,compare() // 比较字符串
  16. size(),length() // 返回字符数量
  17. max_size() // 返回字符的可能最大个数
  18. s.empty() // 判断字符串是否为空
  19. s.capacity() // 返回重新分配之前的字符容量
  20. reserve() // 保留一定量内存以容纳一定数量的字符
  21. [ ], at() // 存取单一字符
  22. ,getline() // 从stream读取某值

  23. << // 将谋值写入stream
  24. copy() // 将某值赋值为一个C_string
  25. c_str() // 返回一个指向正规C字符串(C_string)的指针 内容与本string串相同 有’\0’
  26. data() // 将内容以字符数组形式返回 无’\0’
  27. s.substr() // 返回某个子字符串
  28. begin() end() // 提供类似STL的迭代器支持
  29. rbegin() rend() // 逆向迭代器
  30. get_allocator() // 返回配置器

串流
string str=“i am a boy”;
istringstream is(str);
string s;
while(is>>s)
{
cout<<s<<endl;
}
输出是:i
am
a
boy

Set

unordered_set<LisNode *> visited;
multiset a;
a.count();统计元素个数

priority_queue

大根堆 priority_queue<int,vector,less > big_heap;
小根堆priority_queue<int,vector,greater > small_heap;
empty()
size()
front()
push_back()
pop_back()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值