STL容器的简单用法总结

**  set

属性:不允许元素重复,元素字典序排列,不提供下标操作符

声明:set<int> a;

插入:a.insert(b);

遍历:

set<int>::iterator a_it;//迭代器是静态的
for (a_it = a.begin(); a_it != a.end(); a_it++)
cout << *a_it;

判断是否是空:a.empty();

元素个数:a.size();

删除:a.erase(b);//删除第b+1个元素

清空:a.clear();

获取元素:

a_it=a.find(b);

cout<<*a_it;//*a_it返回第b+1个元素

a.count(b)第b+1个元素是否存在

 

**  map

属性:关联数组,键索引字典序排列,键索引不允许重复,后面插入的会覆盖前面的。

声明:map<string,int> a;//键索引string类,关联值为int型

插入:a[b]=c;//b为string类,c为int型

遍历:

map<string, int>::iterator a_it;
for (a_it = a.begin(); a_it != a.end(); a_it++)
cout << a_it->first << " " << a_it->second << endl;//first为键索引

判断是否是空:a.empty();

元素个数:a.size();

删除:

a.erase(b) //b为string类,删除键索引为b的元素

a.erase(a_it) //删除迭代器a_it所指元素

A.erase(a_it1,a_it2)// 删除一段

清空:a.clear();

获取元素:

a_it = a.find(b); //寻找键索引为b返回指向该元素的迭代值

cout << a_it->first << " " << a_it->second << endl;

a.count(b) //键索引为b的元素是否存在

 

** string

用getline读取整行文本

string line;
while (getline(cin, line))
cout << line << endl;

操作:line.empty();line.size();line[n];

 

** stack

属性:栈,先进后出

声明:stack<int> a;

操作:

a.empty();

a.size();

a.pop();

a.top();

a.push(item);

 

** queue

属性:队列,先进先出

声明:queue<int> a;

操作:

a.empty();

a.size();

a.pop();

A.top();//具有优先级的元素

a.front(); //返回队首元素

a.back();//返回队尾元素

a.push(item);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值