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)
本文深入解析了C++ STL中优先队列(大根堆、小根堆)的定义与使用,以及Map容器的特性、访问方式和常用函数。通过实例展示了如何在程序中有效运用这些数据结构。
604

被折叠的 条评论
为什么被折叠?



