Constructors 构造函数
Operators 对vector进行赋值或比较
assign() 对Vector中的元素赋值
at() 返回指定位置的元素
back() 返回最末一个元素
begin() 返回第一个元素的迭代器
capacity() 返回vector所能容纳的元素数量(在不重新分配内存的情况下)
clear() 清空所有元素
empty() 判断Vector是否为空(返回true时为空)
end() 返回最末元素的迭代器(译注:实指向最末元素的下一个位置)
erase() 删除指定元素
front() 返回第一个元素
get_allocator() 返回vector的内存分配器
insert() 插入元素到Vector中
max_size() 返回Vector所能容纳元素的最大数量(上限)
pop_back() 移除最后一个元素
push_back() 在Vector最后添加一个元素
rbegin() 返回Vector尾部的逆迭代器
rend() 返回Vector起始的逆迭代器
reserve() 设置Vector最小的元素容纳数量
resize() 改变Vector元素数量的大小
size() 返回Vector元素数量的大小
swap() 交换两个Vector
list:
assign() 给list赋值
back() 返回最后一个元素
begin() 返回指向第一个元素的迭代器
clear() 删除所有元素
empty() 如果list是空的则返回true
end() 返回末尾的迭代器
erase() 删除一个元素
front() 返回第一个元素
get_allocator() 返回list的配置器
insert() 插入一个元素到list中
max_size() 返回list能容纳的最大元素数量
merge() 合并两个list
pop_back() 删除最后一个元素
pop_front() 删除第一个元素
push_back() 在list的末尾添加一个元素
push_front() 在list的头部添加一个元素
rbegin() 返回指向第一个元素的逆向迭代器
remove() 从list删除元素
remove_if() 按指定条件删除元素
rend() 指向list末尾的逆向迭代器
resize() 改变list的大小
reverse() 把list的元素倒转
size() 返回list中的元素个数
sort() 给list排序
splice() 合并两个list
swap() 交换两个list
unique() 删除list中重复的元素
stack:
操作 比较和分配堆栈
empty() 堆栈为空则返回真
pop() 移除栈顶元素
push() 在栈顶增加元素
size() 返回栈中元素数目
top() 返回栈顶元素
queue:
back() 返回最后一个元素
empty() 如果队列空则返回真
front() 返回第一个元素
pop() 删除第一个元素
push() 在末尾加入一个元素
size() 返回队列中元素的个数
======================================================
1. set的删除操作
#include<iostream>
#include<set>
#include<iterator>
using namespace std;
typedef std::set<int> INT_SET;
int main()
{
INT_SET setMy;
for(int i=0;i<10;i++)
{
setMy.insert(i);
}
copy(setMy.begin(),setMy.end(),ostream_iterator<int>(cout,""));
cout<<endl;
int iValueToDelete=5;
INT_SET::iterator position;
for(position=setMy.begin();position!=setMy.end();)
{
if(*position==iValueToDelete)
{
//这里要注意,position++
setMy.erase(position++);
}
else
{
cout<<*position;
position++;
}
}
cout<<endl;
return 0;
}
2. map的删除操作
#include<iostream>
#include<map>
#include<iterator>
using namespace std;
typedef std::map<int,int> INT_MAP;
int main()
{
INT_MAP mapMy;
for(int i=0;i<10;i++)
{
mapMy.insert(INT_MAP::value_type(i,i*10+1));
}
INT_MAP::iterator position;
for(position=mapMy.begin();position!=mapMy.end();position++)
{
std::cout << "(" << position->first << "," << position->second <<")";
}
cout<<endl;
int iValueToDelete=5;
for(position=mapMy.begin();position!=mapMy.end();)
{
if(position->first==iValueToDelete)
{
//这里要注意,position++
mapMy.erase(position++);
}
else
{
cout<<"<"<<position->first<<":"<<position->second<<">";
position++;
}
}
cout<<endl;
return 0;
}