1.vector
构造
vector v;
基本操作
v.begin() //指向迭代器中第一个元素。 v.end() //指向迭代器中末端元素的下一个,指向一个不存在元素。 v.push_back(elem) //在尾部加入一个数据。 v.pop_back() //删除最后一个数据。 v.capacity() //vector可用空间的大小。 v.size() //返回容器中数据个数。 v.empty() //判断容器是否为空。 v.front() //传回第一个数据。 v.back() //传回最后一个数据,不检查这个数据是否存在。 v.at(index) //传回索引idx所指的数据,如果idx越界,抛出out_of_range。 v.clear() //移除容器中所有数据。 v.erase(iterator) //删除pos位置的数据,传回下一个数据的位置。 v.erase(begin,end) //删除[beg,end)区间的数据,传回下一个数据的位置。注意:begin和end为iterator v.insert(position,elem) //在pos位置插入一个elem拷贝,传回新数据位置。 v.insert(position,n,elem) //在pos位置插入n个elem数据,无返回值。 v.insert(position,begin,end) //在pos位置插入在[beg,end)区间的数据,无返回值。
2.priority_queue
构造
priority_queue que; //采用默认优先级构造队列最大值先出队priority_queue,greater >que3; //最小值先出队priority_queue ,less >que4; //最大值先出队
基本操作
que.empty() //判断一个队列是否为空que.pop() //删除队顶元素que.push() //加入一个元素que.size() //返回优先队列中拥有的元素个数que.top() //返回优先队列的队顶元素
3.map
构造
mapmp;
基本操作
mp.begin() //返回指向map头部的迭代器mp.clear() //删除所有元素mp.count() //返回指定元素出现的次数mp.empty() //如果map为空则返回truemp.end() //返回指向map末尾的迭代器mp.equal_range() //返回特殊条目的迭代器对mp.erase() //删除一个元素mp.find() //查找一个元素mp.get_allocator() //返回map的配置器mp.insert() //插入元素mp.key_comp() //返回比较元素key的函数mp.lower_bound() //返回键值>=给定元素的第一个位置mp.max_size() //返回可以容纳的最大元素个数mp.rbegin() //返回一个指向map尾部的逆向迭代器mp.rend() //返回一个指向map头部的逆向迭代器mp.size() //返回map中元素的个数mp.swap() //交换两个mapmp.upper_bound() //返回键值>给定元素的第一个位置mp.value_comp() //返回比较元素value的函数
4.queue
构造
queue q;
基本操作
q.push(num) //入列,插入队列的末端。 q.empty() //判断队列是否为空q.size() //获取队列中的元素个数 q.back() //访问队列尾元素
5.stack
构造
stack s;stack c1(c2); 复制stack
基本操作
s.top() //返回栈顶数据s.push(num) //在栈顶插入数据s.pop() //弹出栈顶数据s.empty() //判断栈是否为空s.size() //返回栈中数据的个数
6.set
构造
set s;
基本操作
s.insert(num) //把元素插入到集合中,同一元素不会重复插入s.inset(first,second) //将定位器first到second之间的元素插入到set中,返回值是voids.erase(6) //删除键值为6的元素 s.find(6) //查找键值为6的元素,如果没找到则返回end()s.begin() //返回set容器的第一个元素s.end() //返回set容器的最后一个元素s.clear() //删除set容器中的所有的元素s.empty() //判断set容器是否为空s.max_size() //返回set容器可能包含的元素最大个数s.size() //返回当前set容器中的元素个数s.rbegin() //返回的值和end()相同s.rend() //返回的值和rbegin()相同s.count() //用来查找set中某个某个键值出现的次数,一般用于判断某一键值是否在set出现过erase(iterator) //删除定位器iterator指向的值erase(first,second) //删除定位器first和second之间的值(不包括second)erase(key_value) //删除键值key_value的值lower_bound(key_value) //返回第一个大于等于key_value的定位器upper_bound(key_value) //返回最后一个大于等于key_value的定位器
7.deque
构造
deque c;deque c1(c2); //复制dequedeque c(n, elem); //创建一个含有n个elem拷贝的deque
基本操作
c.assign(beg, end); //将beg-end区间中的值赋值给cc.assign(n, elem); //将n个elem的拷贝赋值给cc.at(idx); //返回idx位置所指数据c.front(); //返回第一个数据c.back(); //返回最后一个数据c.begin(); //返回指向第一个数据的迭代器c.end(); //返回指向最后一个数据的下一个位置的迭代器c.rbegin(); //返回逆向队列的第一个数据c.rend(); //返回指向逆向队列的最后一个数据的下一个位置的迭代器c.push_back(elem); //在尾部加入一个数据c.push_front(elem); //在头部插入一个数据c.insert(pos, elem); //在pos位置插入一个elem拷贝,返回新数据位置c.insert(pos, n, elem); //在pos位置插入n个elem数据,无返回值c.insert(pos, beg, end); //在pos位置插入在beg-end区间的数据,无返回值c.pop_back(); //删除最后一个数据c.pop_front(); //删除头部数据c.erase(pos); //删除pos位置的数据,返回下一个数据的位置c.erase(beg, end); //删除beg-end区间的数据,返回下一个数据的位置c.empty(); //判断容器是否为空c.max_size(); //返回容器中最大数据的数量c.resize(num); //重新指定队列的长度c.size(); //返回容器中实际数据的个数c1.swap(c2) //将c1和c2元素互换