C ++ STLが高頻度で使用する機能の概要

ベクター

vector<int> a(100,0)//100个0
v.clear();
v.empty();

v.insert(pos,elem);
v.erase(pos);
v.erase(pos,pos+len);//pos开始删除len个,pos是迭代器
v.erase(first,last)//左闭右开

v.front();v.back();

v.pop_back();
v.push_back();

v.size();

auto it=find(v.begin(),v.end(),elem);//返回的是迭代器

//排序去重
sort(v.begin(),v.end());
v.erase(unique(v.begin(),v.end()),v.end());

スタック

s.empty();
s.pop();
s.push();
s.size();
s.top();

キュー

q.empty();
q.pop();
q.push();
q.size();
q.front();

priority_queue

priority_queue<int> q;//默认大根堆,先输出大数
priority_queue<int,vector<int>,greater<int>> q;
q.top();
q.pop();
q.push();
q.size();

セット/マルチセット

s.insert(elem);
s.count(elem);
s.erase(elem);
s.erase(pos);

auto it=s.upper_bound(elem);//查找第一个大于elem的元素
cout<<*s.rbegin()//输出最后一个元素
cout<<*(++s.rbegin())//输出倒数第二个元素

地図

m.insert(make_pair(1,"Mike"));
m[1]="Mike";
m.size();

auto it=m.find(1);
cout<<it->first<<" "<<it->second<<endl;

auto it=m.lower_bound(1);//返回key值大于等于1的第一个值的迭代器

ストリング

//转数值
stoi(s);
stoll(s);
stod(s);
//转字符串
s=to_string(a);
//转换大小写
transform(s.begin(),s.end(),s.begin(),::tolower);
transform(s.begin(),s.end(),s.begin(),::toupper);

getline(cin,s);//读取有空格的

s.size();
s.length();
s.empty();

s.erase(pos);//pos代表下标值,从pos以后全部删除
s.erase(pos,len)//pos开始删除len个
s.erase(it);
s.erase(first,last)//左闭右开

s.find(s1);//未找到返回string::npos
s.find_first_of(s1);//找到s1第一次出现的位置
s.find_last_of(s1);//找到s1最后一次出现的位置

s.insert(pos,c);

reverse(s.begin(),s.end());

ペア

pair<int,int> p;
int a=p.first;
int b=p.second;

注:C ++は通常size()、javaは通常lengthです

おすすめ

転載: blog.csdn.net/DwenKing/article/details/108355208