C++ STL 容器整理
2016-03-11 10:16
453 查看
vector
创建vectorvector< 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
创建mapmap< 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
创建stringstring 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
创建setset< 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()
相关文章推荐
- C++实现单例模式
- C++ 基础总结
- [C/C++] 程序解析
- VS使用protobuf和gflag的一体化解决方案
- 学好C语言,走遍宇宙都不怕
- C++类制作动态库(dll)
- C++之:友元类
- 深入剖析设计模式中的组合模式应用及在C++中的实现
- C++继承:公有,私有,保护
- C++中stringstream常见用法
- C语言的代码内存布局详解
- C语言逗号运算符
- C语言运算符优先级
- C语言,指针与内存分配
- C++实现&nbsp;贪心算法-区间覆盖问题
- ACM气球膨胀问题C++实现
- C++11带来的move语义
- c语言函数指针的理解与使用
- 彻底搞定C语言指针详解
- C++ 关键词的详细解释(—)