priority_queue
- 尝试定义一个大根堆
priority_queue <int> q;
priority_queue <int,vector<int>,less<int> > q;
- 尝试定义一个小根堆
priority_queue <int,vector<int>,greater<int> > xq;
map
首先map就是一种映射。
map<typename1,typename2> mp;//typename1叫做键,typename2叫做值
- map的访问
map<char,int> mp;
mp['c']=1;
for(map<char,int>::iterator it=mp.begin();it!=mp.end();it++)
it->first('c') it->second(1)
- 常用函数
map<char,int> mp;
mp['c']=1;
mp['d']=2;
mp.count('c') => 1
mp.count('e') => 0
map<char,int>::iterator it=mp.find('c'); \\O(logn)
if(it!=mp.end()) cout<<it->second<<endl;
//找到该键所对应的值
cout<<mp.size()<<endl; \\ O(1)
//求size
map<char,int> mp;
mp['c']=1;
mp['d']=2;
mp['e']=33;
map<char,int>::iterator it=mp.find('c');
mp.erase(it); <=>mp.erase('c'); \\O(logn)
mp.clear(); \\ O(n)