C++ STL常用容器基本用法汇总

1.vector

  • 包含头文件#include<vector>
  • 使用命名域using namespace std
  • 定义元素类型为T的vector vector<T> vec
  • 增:向vector中添加元素a,使用成员函数vec.push_back(a),元素a被加到向量末尾
  • 删:vec.pop_back()删除最后一个元素
  • 取:vec[i] 可以取第i个元素,下标从0开始;取第一个元素vec.begin()vec.end()是取最后一个的下一个
  • 下图为成员函数
    1249576-20180327161208156-1585367780.png

2.string

  • 包含头文件#include<string>
  • 使用命名域using namespace std
  • 获取字符串长度:str.length()
  • 查找:str.find(a,k) a可以是字符也可以是字符串,k为int。返回从k开始,a首次匹配str中的位置,无匹配则返回-1,k若缺省则从0开始。
  • 字符串倒置:reverse(str.begin(), str.end())
  • 截取子串:str1 = substr(pos,n)返回str中起始位置为pos,长度为n的字符串,n若缺省则到结尾
  • 追加字符串:可以用str.append(str1)或者str+=str1这个重载运算符来实现向str的末尾追加str1
  • 比较字符串:str.compare(str1)相等返回0,str大于str1返回1,否则返回-1。也可以直接用>,<,=

3.stack

  • 包含头文件#include<stack>
  • 使用命名域using namespace std
  • 定义元素为T类型的vector stack<T> sta
  • 成员函数表如下图
    1249576-20180327163210645-1903249406.png

4.list

5.queue

  • 定义一个queue的变量 queue<Type> M
  • 查看是否为空范例 M.empty() 是的话返回1,不是返回0;
  • 从已有元素后面增加元素 M.push()
  • 输出现有元素的个数 M.size()
  • 显示第一个元素 M.front()
  • 显示最后一个元素 M.back()
  • 清除第一个元素 M.pop()

6.map

  • 包含头文件#include<map>
  • 使用命名域using namespace std
  • map中的元素是一个pair,定义键为T1类型,值为T2类型的map map<T1, T2> m
  • 增:插入数据有以下四种方法
  //以下例子中m为map<String,int>类型
 m["a"] = 1;   
 
 m.insert(map<string, int>::value_type("a",1));

 m.insert(pair<string,int>("c",3));

 m.insert(make_pair("d",4));
  • 根据键值取元素和修改元素对应的值
 int i = m["a"];  //取到键值"a"对应的值
 
 map<int, string>::iterator iter;  
  
 iter = m.find("a"); // 返回数据所在位置的迭代器,如果map中没有要查找的数据,则返回的迭代器等于end函数返回的迭代器
 int i = iter->second; //用迭代器取到对应的值
 iter->second=j;  //修改迭代器对应的值
 

7.set

转载于:https://www.cnblogs.com/liminghuang/p/8657792.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值