intmain(){
vector<int> vi;for(int i =1; i <=5; i++)
vi.push_back(i);
vector<int>::iterator it = vi.begin();for(int i =1; i <=5; i++)printf("%d ",*(it + i));//另一种写法:for(it = vi.begin(); i != vi.end(); it++)printf("%d ",*it);}
常用函数
函数
释义
push_back(x)
在容器后面添加一个元素x
pop_back()
删除vector的尾元素
size()
获取元素个数(返回unsigned类型,但一般用%d不会出很大问题)
clear
清空vector所有元素
insert(it, x)
向vector的任意迭代器it处插入一个元素x
erase(it)
删除it处元素
earse(first, last)
删除[first, last)区间元素
set
定义
set<typename> name;
访问
只能通过迭代器
定义
set<typename>::iterator it;
用法
除vector和string外STL容器都不支持*(i+1)访问方式,因此只能按如下方式枚举
set内元素自动递增排序,且自动去除了重复元素
intmain(){
set<int> st;
st.insert(3);
st.insert(5);
st.insert(2);
st.insert(3);for(set<int>::iterator it = st.begin(); it != st.end(); it++)printf("%d ",*it);//输出 2 3 5}
常用函数
函数
释义
insert(x)
将x插入set容器,并自动排序和去重
find(value)
返回set中对应值的value迭代器
size()
获取元素个数
clear
清空set所有元素
erase(it)
删除it处元素
earse(value)
value为所需要删除元素的值
string
定义
string str;
访问
下标访问
intmain(){
string str ="abcd";for(int i =0; i < str.length(); i++)printf("%c", str[i]);//printf("%s\n", str.c_str());//将string型str变为字符数组可以直接输出字符串}
迭代器
定义
string::iterator it;
用法
intmain(){
string str ="abcd";for(string::iterator it = str.begin(); it != vi.end(); it++)printf("%c",*it);}