- int arr[ ]:数组string:字符串,增删改查
string s; string s1(s.begin(),s.end()); string s2(s1); s.push_back('c'); s.pop_back(); s.front(); s.back(); s.erase(pos); string::iterator it = s.begin(); for(it;it!=s.end();it++) { if(*it=='a') { it = s.insert(it,'b'); it++;//防止迭代器失效 } } s.c_str();//获取该字符串指针 s.size(); s.elear(); s.empty();
- vector:一维数组,按照1.5倍扩容
#includelist:链表vector v; vector v1(v.begin(),v.end());//根据迭代器进行构造 v.push_back(i); v.pop_back() v.back(); v.front(); v.max_size();//内存中能存放多少种该类容器 v.swap(v1); v.empty(); v.resize(); v.reserve(); v.size(); for(int i=0;i ::iterator it=v.begin(); for(;it!=v.end();it++) { cout<<*it<<" ";//通过迭代器进行遍历 } copy(v.begin(),v.end(),ostream_iterator (cout," "));
listdeque:底层二维数组,双端队列容器适配器:stack,queue(底层都依赖于deque实现)stack:l; l.push_front(2); l.pop_front(); l.resize(); l.reverse();//链表逆置
stacks; s.push(i); s.pop(); s.top(); s.empty(); s.size(); s.swap();
queue:
queueq; q.push(1); q.pop(); q.front(); q.size(); q.empty(); q.swap(); priority_queue //优先级队列(了解)
- set:集合,数据有序,底层是红黑树 ,不允许重复
#includeset s; s.insert(num); s.erase(num); set ::iterator it = s.find(num);//找到返回对应数据的迭代器 ,否则返回end if(it != s.end()) { cout<<*it< multiset:数据集合,数据有序,底层是红黑树 ,允许重复
multisetms; ms.insert(num); multiset ::iterator it1 = ms.find(num);//返回找到的第一个元素的迭代器 map:映射表,数据按key有序,红黑树,不允许重复
mapmm; mm.insert(make_pair(1,"abc")); mm.insert(pair (2,"def")); map ::iterator it = mm.begin(); for(;it !=mm.end();it++) { cout< first<<" ";//键 cout< second<<" ";//值 } map ::iterator it1 = mm.find(key); mm.empty(); mm.clear(); mm.erase(key); mm.swap(mm1); mm.size(); multimap:多重映射表,数据按key有序,红黑树,允许重复
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)