概述
set 内部为二叉搜索树
#include <set>
#include <cstdio>
using namespace std;
int main()
{
//声明
set<int> s;
//插入元素
s.insert(1);
s.find(2);
s.erase(3);
//查找元素方法1(用迭代器查找)
set<int>::iterator ite;
ite = s.find(2);
if(ite == s.end()) puts("not found");
else puts("found");
//查找元素方法2(通过计数)
if(s.count(3) != 0) puts("found");
else puts("not found");
//删除元素
s.erase(3);
return 0;
}
map 内部为红黑树
#include <map>
#include <string>
#include <cstdio>
using namespace std;
int main()
{
//int 为键,const char* 为值
map<int, const char*> m;
//插入元素
m.insert(make_pair(1, "one"));
m.insert(make_pair(10, "ten"));
m[2] = "two";
//这样插入也可以
//查找元素(用迭代器)
map<int, const char*>::iterator ite;
ite = m.find(1);
if(ite == m.end()) puts("not found");
else puts(ite->second);
puts(m[10]);
//或者直接输出要查找的内容,若查找不到则无任何输出
//删除元素
m.erase(10);
//遍历所有元素
for(ite = m.begin(); ite != m.end(); ite++){
printf("%d %sn", ite->first, ite->second);
}
return 0;
}
queue 队列
#include <cstdio>
#include <queue>
using namespace std;
int main()
{
//声明
queue<int> que;
//将元素入队
que.push(1);
que.push(2);
//判断队列是否为空,是的话返回 1 ,否则返回 0
if(que.empty()) printf("Empty!");
else printf("%dn", que.size());
//返回队列中的元素个数
//返回队列的第一个元素
printf("%dn", que.front());
//返回队列中最后一个元素
printf("%dn", que.back());
//弹出队列中的第一个元素
que.pop();
//默认优先队列
priority_queue<int> q;
//在默认的优先队列中,优先级高的先出队,此时top为当前优先队列中最大的元素
printf("%dn", q.top());
//创建一个低优先级元素先出对列的优先队列
priority_queue< int, vector<int>, greater<int> > q;
//此时top为当前优先队列中最小的元素
printf("%dn", q.top());
return 0;
}
最后
以上就是欢呼刺猬为你收集整理的STL 中 set、map、queue 的简单使用方法的全部内容,希望文章能够帮你解决STL 中 set、map、queue 的简单使用方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复