删除队列的某个元素
#include<bits/stdc++.h> using namespace std; int main() { string s="1,3,4,5"; s.erase(remove(s.begin(),s.end(),','),s.end()); cout<<s<<endl; vector<int> v={1,3,4,3,6}; v.erase(remove(v.begin(),v.end(),3),v.end()); for(int i=0; i<v.size(); i++) cout<<v[i]<<" "; cout<<endl; return 0; }
|
删除字符串的前导0
#include<iostream> using namespace std; int main() { string s="0000123";
cout<<s<<endl; return 0; }
|
重复填充数据
#include<bits/stdc++.h> using namespace std; int main() { vector<int> v{1,2,3}; fill(v.begin(),v.end(),0); for(auto &item : v) cout<<item<<" "; return 0; }
|
lower_bound和upper_bound
lower_bound:找到第一个大于等于target的迭代器,注意判断迭代器是否为end
upper_bound:找到第一个大于target的迭代器,注意判断迭代器是否为end
#include<bits/stdc++.h> using namespace std; int main() { vector<int> nums{1,2,2,2,5,6}; auto it_left=lower_bound(nums.begin(),nums.end(),2); auto it_right=upper_bound(nums.begin(),nums.end(),2); if(it_left!=nums.end()) cout<<*it_left<<" "; if(it_right!=nums.end()) cout<<*it_right<<" "; return 0; }
|