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 ...
随机推荐
- Android 自定义UI--电池
首先看一下效果图, 下面看代码: /** * */ package com.example.batterydemo; import android.content.Context; import an ...
- Ubuntu中设置静态IP和DNS(转载)
原文地址:http://blog.sina.com.cn/s/blog_669421480102v3bb.html VMware 中使用网络,对虚拟机设置静态IP:在Ubuntu中设置静态IP共两步: ...
- sql 读取excel中的数据
select 列名 as 字段名 from openBowSet('MSDASQL.1','driver=Microsoft Excel Driver(*.xls);dbq=文件存放地址','sele ...
- Geodatabase - 创建要素类.
在NET中,会遇到以“_2”结尾的属性,这些属性是可写的. 以下代码在已有工作空间下,创建一个新的点要素类: //例如,personalDBPath=@"G:\doc\gis\1.400\d ...
- WIN7下使用.net(C#)监视剪贴板 (转)
最近需要做一个小程序,需要常驻后台,监视剪贴板变化并提取内容, 在网上查了一些资料,先采用SetClipboardViewer方法实现,具体原理可以参考http://www.cnblogs.com/j ...
- hdu4006 优先队列
A - 签到 Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:65768KB 64bit I ...
- 给定范围内产生N个不同的随机数
void RandNumbs(int nLimts, int result[], int n)//给定范围内产生n个不同随机数(1-nLimts),并存储到result中 { int nNum = 0 ...
- IT编程培训,线上线下,孰优孰劣
现在Java培训机构确实参差不齐,主要有在线培训和线下培训两大类: 1,虚拟和现实的区别:不论视觉,听觉,体验上在线教学都不如线下教学. 2,学费问 题:在线教学由于成本低,不受地域,教学设备限制一般 ...
- java基础知识再学习--集合框架-对象的强、软、弱和虚引用
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhangjunhd.blog.51cto.com/113473/53092 本文 ...
- jquery uploadify插件多文件上传
1.jquery uploadify 下载:http://www.uploadify.com/ 2.安装:解压后拷贝的工程目录下面,如:WebRoot/uploaddify 3.配置项说明: uplo ...