vector
- 创建vector
- vector< type >vec;//声明一个空向量
- vector< type >vec(n);//声明一个初始大小为n的的向量
- vector< type >vec(vec1);//以复制一个vec1向量
- 插入元素
- push_back(a)//在向量的尾部插入元素a
- insert(vec.begin()+i,a)//在向量的第i个位置插入元素a
- 删除元素
- clear()//清空向量
- erase(vec.begin()+i)//删除第i个元素
- erase(vec.begin()+i,vec.begin()+j)//删除区间[i,j)上的元素
- 判断是否为空
- empty()//为空返回true,否则返回false
- size()//返回向量中元素的个数
- 迭代器的使用
#include<iostream>
#include<vector>
using namespace std;
int main(){
vector<int>vec(n);
for(int i = 0;i < vec.size();i++){
vec[i] = i;
}
vector<int>::iterator iter;
for(iter = vec.begin();iter != vec.end();iter++){
cout<<*iter<<" ";
}
return 0;
}
map
- 创建map
- map< key_type,value_type >mp;
- 插入元素
- mp[key] = value;
- mp.insert(pair< key_type,value_type >(key,value));
- 查找元素
- find(a)//寻找key值为a的元素,找到则返回指向该元素的迭代器
- 删除元素
- erase(iter)//删除迭代器iter指向的元素
- clear()//删除所有元素
- 判断是否为空
- empty()//为空返回true,否则返回false
- size()//返回map容器中键值对的个数
- 迭代器使用
#include<iostream>
#include<map>
using namespace std;
int main(){
map<int,int>mp;
for(int i = 0;i < 10;i++){
mp.insert(pair<int,int>(i,i+1));
}
map<int,int>::iterator iter;
for(iter = mp.begin(),iter != mp.end();iter++){
cout<<iter->first<<" "<<iter->second<<endl;
}
return 0;
}
string
- 创建string
- string s;//声明一个string对象
- string s1(s2);//复制一个string对象
- string s(n,’c’);//用n个’c’字符创建一个string对象
- 改变string
- s = s1 + s2;//拼接两个字符串
- s = s.substr(i,j);//截取区间[i,j)上的字符串
- s.insert(i,”123”);//将字符串”123”插入到i位置
- s.erase(i);//删除i位置的字符
- s.erase(i,j);//删除区间[i,j)上的字符串
- s.append(a);//将a拼接到s后面
- reverse(s.begin(),s.end());//将字符串反转
- 字符串查找
- find(a);//返回第一次找到a的下标
- find_first_not_of(a);//返回第一个不是a的下标
- find_first_of(a);//返回第一个是a的下标
- find_last_not_of(a);//返回最后一个不是a的下标
- find_last_of(a);//返回最后一个a的下标
- length();//返回字符串的长度
set
- 创建set
set< type >myset; - 添加元素
insert(a) - 删除元素
- erase(a);//删除值为a的元素
- clear();//清空元素
- 判断是否为空
- empty();//为空返回true,否则返回false;
- size();//返回set容器中元素的个数
- 迭代器的使用
#include<iostream>
#include<set>
using namespace std;
int main(){
set<int>myset;
for(int i = 0;i < 10;i++){
myset.insert(i);
}
set<int>::iterator iter;
for(iter = myset.begin();iter != myset.end();iter++){
cout<<*iter<<endl;
}
return;
}
queue
- 创建队列
queue< int >que; - 入队
push(a); - 出队
pop() - 访问队首元素
front() - 访问队尾元素
back() - 查看队列大小
size()
empty()
stack
- 声明栈
stack sta; - 入栈
push() - 出栈
pop() - 访问栈顶元素
top() - 查看栈内元素个数
size()
empty()