STL中map,set的基本用法示例
本文主要是使用了STL中德map和set两个容器,使用了它们本身的一些功能函数(包括迭代器),介绍了它们的基本使用方式,是一个使用熟悉的过程。
map的基本使用:
#include "stdafx.h"
#include<iostream>
#include<set>
#include<string>
#include<vector>
#include<map> using namespace std; int main()
{
//定义map对象
map<string,float> myMap;
myMap["jack"]=98.5;
myMap["bomi"]=98.0;
myMap["Kate"]=97.6; map<string,float>::iterator itm;
for(itm=myMap.begin();itm!=myMap.end();itm++)
{
//按照键值与映照的数据输出
cout<<(*itm).first<<" : "<<(*itm).second<<endl;
} int k=0;
cin>>k;
return 0;
}
set的基本使用示例:
#include "stdafx.h"
#include<iostream>
#include<set>
#include<string>
#include<vector> using namespace std; int main()
{
set<int> mySet;
mySet.insert(8);
mySet.insert(1);
mySet.insert(12);
mySet.insert(6);
mySet.insert(8); //这里因为前面已经插入了8,重复元素,不会插入。 set<int>::iterator its; //set容器的迭代器 cout<<"正向遍历:"<<" ";
for(its=mySet.begin();its!=mySet.end();its++) //正向遍历
{
cout<<*its<<" ";
}
cout<<endl<<"反向遍历:"<<" "; set<int>::reverse_iterator rit; //set的逆向迭代器
for(rit=mySet.rbegin();rit!=mySet.rend();rit++)
{
cout<<*rit<<" ";
} //删除键值为6的元素
mySet.erase(6);
cout<<endl<<"删除之后的反向遍历:"<<" ";
for(rit=mySet.rbegin();rit!=mySet.rend();rit++)
{
cout<<*rit<<" ";
} //set中元素的检索
mySet.insert(17);
mySet.insert(10); cout<<endl;
its=mySet.find(10); //使用迭代器来查找,没找到就返回end().
if(its!=mySet.end()) cout<<"找到了"<<*its<<endl;
else cout<<"没有找到查询的元素"<<endl; its=mySet.find(100);
if(its!=mySet.end()) cout<<"找到了"<<*its<<endl;
else cout<<"没有找到查询的元素"<<endl; int k=0;
cin>>k;
return 0;
}
一些细节的地方说明,请看源码中的注释,谢谢!
STL中map,set的基本用法示例的更多相关文章
- C++中的STL中map用法详解(转)
原文地址: https://www.cnblogs.com/fnlingnzb-learner/p/5833051.html C++中的STL中map用法详解 Map是STL的一个关联容器,它提供 ...
- C++ STL 中 map 容器
C++ STL 中 map 容器 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它 ...
- STL中map的使用
知识点 C++中map提供的是一种键值对容器,里面的数据都是成对出现的.map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的. ...
- C++ STL中Map的按Key排序和按Value排序
map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value.假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区 分),我们用map来进 ...
- STL中map与hash_map的比较
1. map : C++的STL中map是使用树来做查找算法; 时间复杂度:O(log2N) 2. hash_map : 使用hash表来排列配对,hash表是使用关键字来计算表位置; 时间复杂度:O ...
- STL中map与hash_map容器的选择收藏
这篇文章来自我今天碰到的一个问题,一个朋友问我使用map和hash_map的效率问题,虽然我也了解一些,但是我不敢直接告诉朋友,因为我怕我说错了,通过我查询一些帖子,我这里做一个总结!内容分别来自al ...
- C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET
C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET C++ STL中Map的相关排序操作:按Key排序和按Value排序 分类: C ...
- C++ STL中Map的按Key排序跟按Value排序
C++ STL中Map的按Key排序和按Value排序 map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value.假如存储学生和其成绩(假定 ...
- stl中map的四种插入方法总结
stl中map的四种插入方法总结方法一:pair例:map<int, string> mp;mp.insert(pair<int,string>(1,"aaaaa&q ...
随机推荐
- 配置linux中文
1.~/.bash_profile文件添加一下内容并执行source ~/.bash_profile export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK 2./etc ...
- [转]CSS目标伪类E:target
CSS3 target 伪类不得不说那些事儿(纯CSS实现tab切换) 是不是觉得target有点眼熟?! 今天要讲的不是HTML的<a>标签里面有个target属性. target伪类是 ...
- post请求和get请求的区别
1:如果表单是以post方式发送,那么表单中的数据会放在请求报文体中,发送到服务端.但是如果是以get方式提交表单,那么表单中用户输入的数据都是以URL地址的方式发送到服务端. 2:在服务端接收数据时 ...
- js判断浏览器类型以及版本
你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器. 几天前,浏览器家族有刚诞生了一位小王子,就是Google推出的 ...
- 【JAVA编码专题】 JAVA字符编码系列三:Java应用中的编码问题
这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...
- Project Euler #80: Square root digital expansion
from decimal import getcontext, Decimal def main(): n = int(raw_input()) p = int(raw_input()) getcon ...
- Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(二)
3. prefetch_related() 对于多对多字段(ManyToManyField)和一对多字段,可以使用prefetch_related()来进行优化.或许你会说,没有一个叫OneToMan ...
- Java中读取文件
Java中读取文件,去除一些分隔符,保存在多维数组里面 public void readFile(String filePath) { File file=new File(filePath); Ar ...
- gnuplot
一. 简介 gnuplot是一个命令行驱动的科学绘图工具,可将数学函数或数值资料以平面图或立体图的形式画在不同种类终端机或绘图输出装置上.gnuplot既支持命令行交互模式,也支持脚本. 二. 特性 ...
- The Flat Dictionary
The Flat Dictionary 原来的代码没处理dict为空的情况 1 def flatten(dictionary): 2 #[] is a list 3 #() is a tuple 4 ...