c++ 常见函数运用
lower_bound(a,a+n,x)-a;//二分查找x
tolower(ch);//小写化
在c++中判断map有没出现过该字符:
if( ! map.count(s)) map[s] = 0;
else
map[s]++;
map<string,int>::iterator it;
for(it=m.begin();it!=m.end();++it)
cout<<"key: "<<it->first <<" value: "<<it->second<<endl;
return 0;
优先队列:
priority_queue< int ,vector<int>,cmp> pq;、
priority_queue<int ,vector<int>,greater<int> > que;//从小到大
priority_queue<int> que;//从大到小
//实现个位数大得整数优先级反而小
struct cmp
{
bool operator () (const int a,const int b) const
{
//a 的优先级比 b 小返回true
return a%10>b%10;
}
}
vector<int> v;
统计a[i]字符个数:
count(v.begin(),v.end(),a[i])
求一个排序的下一个排列的函数:next_permutation(a,a+n) 与之相对的prev_permutation(