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 ...
随机推荐
- NoSQL 数据库的使用场景
摘要:对比传统关系型数据库,NoSQL有着更为复杂的分类——键值.面向文档.列存储.图数据库.这里就带你一览NoSQL各种类型的适用场景及一些知名公司的方案选择. 在过去几年,关系型数据库一直是数据持 ...
- [置顶] VB6基本数据库应用(三):连接数据库与SQL语句的Select语句初步
同系列的第三篇,上一篇在:http://blog.csdn.net/jiluoxingren/article/details/9455721 连接数据库与SQL语句的Select语句初步 ”前文再续, ...
- edittext实现粘贴表情
package com.sixin.view; import com.sixin.utile.FaceDataUtil; import android.annotation.SuppressLint; ...
- Angular源代码学习笔记-原创
时间:2014年12月15日 14:15:10 /** * @license AngularJS v1.3.0-beta.15 * (c) 2010-2014 Google, Inc. http:// ...
- Merge Sorted Array 合并数组并排序
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...
- <转>请戒掉成功学和正能量,那是麻痹人的毒药 | 新知
非常不幸的是,这将是一场非常糟糕的演说.我不想骗你们,你们从我这里几乎什么也学不到.你们在离开的时候肯定会感到失望,你们的生活并不会得到改善. 更糟糕的是,你还会意识到生活的本质毫无意义,你的一切努力 ...
- web worker使用
使用postMessage()方法传递信息.来自Worker的数据保存在event.data中.通过message和error事件与页面通信. <script> var data = [4 ...
- iOS学习之自定义视图时,在屏幕发生旋转时触发重新布局方法
如果要对自定义的视图在屏幕旋转时重新布局,则在自定义视图中定义以下触发方法: -(void)layoutSubviews { [super layoutSubviews]; //1.获取到屏幕旋转的方 ...
- Managing TCP Connections in Dynamic Spectrum Access Based Wireless LANs
2010年IEEE Secon的一篇文章.当然了,应该是之前就写好了,发表过,还是直接投到Secon了呢?直接投的吧,Secon不接受已发表过的吧. 本文的着笔点:有线网与DSAN(启用了DSA特性的 ...
- Flume Channel
http://blog.csdn.net/john_f_lau/article/details/20913831 http://dev.cmcm.com/archives/194