1)容器(Container) 2)迭代器(Iterator) 3)算法(Algorithm) 4)函数对象(Function object) 5)适配器(Adaptor) 6)空间配制器(allocator)
C++ 容器 迭代器 容器类 向量(vector) deque list set multiset map multimap
迭代器相关函数 begin() 返回一个迭代器,指向第一个元素 end() 返回一个迭代器,指向最后一个元素之后 rbegin() 返回一个逆向迭代器,指向逆向遍历的第一个元素 rend() 返回一个逆向迭代器,指向逆向遍历的最后一个元素之后
#include #include #include #include using namespace std; int main(){ int n; while(cin>>n&&n) { map<string, int> Balloon; string s; for(int i=0;i<n;i++) { cin >> s; Balloon[s] +; }
int iMax = 0; map<string,int>::iterator point,loc; for(point = Balloon.begin();point!=Balloon.end();point++) { if(iMax<point->second) { iMax = point->second; loc = point; } } cout<<loc->first<<endl; } return 0;}
#include #include using namespace std; void display(vector &v); int main(){ cout<<“Hello”<<endl; int i; vector v,v2(10); cout<<“v1 length:”<<v.size()<<endl; cout<<“v2 length:”<<v2.size()<<endl;
v.push_back(111); return 0;} void display(vector &v) {
}
set / multiset:集合
基本原理
将插入的值(第一个操作数)与树根(第二个操作数)(红黑树,二叉排序树)进行比较,如果返回值是true,则在左子树中进行插入 否则在右子树中进行插入
#include #include using namespace std; int main(){ set s; s.insert(3); s.insert(2); s.insert(1); s.insert(1); cout<<“set 的 size 值为 :”<<s.size()<<endl; cout<<“set 的 maxsize的值为 :”<<s.max_size()<<endl; cout<<“set 中的第一个元素是 :”<<*s.begin()<<endl; cout<<“set 中的最后一个元素是:”<<*s.end()<<endl; s.clear(); if(s.empty()) { cout<<“set 为空 !!!”<<endl; } cout<<“set 的 size 值为 :”<<s.size()<<endl; cout<<“set 的 maxsize的值为 :”<<s.max_size()<<endl; return 0; }