STL

mac2024-10-06  45

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; }

最新回复(0)