第16周 范型程序补充之map用法
来源:互联网 发布:有易企秀类似的软件 编辑:程序博客网 时间:2024/05/17 22:54
*Copyright(c) 2016.烟台大学计算机与控制工程学院
*ALL rights reserved.
*文件名称:main.cpp
*作者:孙亚茹
*完成日期:2016年6月17日
*问题描述:阅读程序,体会结果。
*//
(1)
#include <algorithm>#include<map>#include<iterator>#include<iostream>#include<cstring>using namespace std;struct ltstr{ bool operator()(const char* s1, const char* s2) const { return strcmp(s1, s2) < 0; }};int main(){ map<const char*, int, ltstr> months; months["january"] = 31; months["february"] = 28; months["march"] = 31; months["april"] = 30; months["may"] = 31; months["june"] = 30; months["july"] = 31; months["august"] = 31; months["september"] = 30; months["october"] = 31; months["november"] = 30; months["december"] = 31; cout << "june -> " << months["june"] << endl; map<const char*, int, ltstr>::iterator cur = months.find("june"); map<const char*, int, ltstr>::iterator prev = cur; map<const char*, int, ltstr>::iterator next = cur; ++next; --prev; cout << "Previous (in alphabetical order) is " << (*prev).first << endl; cout << "Next (in alphabetical order) is " << (*next).first << endl; return 0;}
(2)
#include <map>#include <iostream>using namespace std;int main( ){ map <int, int> m1, m2, m3; map <int, int>::iterator m1_Iter; m1.insert ( pair <int, int> ( 1, 10 ) ); m1.insert ( pair <int, int> ( 2, 20 ) ); m1.insert ( pair <int, int> ( 3, 30 ) ); m2.insert ( pair <int, int> ( 10, 100 ) ); m2.insert ( pair <int, int> ( 20, 200 ) ); m3.insert ( pair <int, int> ( 30, 300 ) ); cout << "The original map m1 is:"; for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ ) cout << " " << m1_Iter->second; cout << "." << endl; // This is the member function version of swap //m2 is said to be the argument map; m1 the target map m1.swap( m2 ); cout << "After swapping with m2, map m1 is:"; for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ ) cout << " " << m1_Iter -> second; cout << "." << endl; cout << "After swapping with m2, map m2 is:"; for ( m1_Iter = m2.begin( ); m1_Iter != m2.end( ); m1_Iter++ ) cout << " " << m1_Iter -> second; cout << "." << endl; // This is the specialized template version of swap swap( m1, m3 ); cout << "After swapping with m3, map m1 is:"; for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ ) cout << " " << m1_Iter -> second; cout << "." << endl; return 0;}
(3)
#include <algorithm>#include<map>#include<iterator>#include<iostream>#include<cstring>using namespace std;int main(){ map<char,int> mymap; mymap['a']=10; mymap['b']=60; mymap['c']=30; mymap['d']=90; mymap['e']=50; map<char,int> second(mymap); map<char,int> third(mymap.begin(),mymap.end()); map<char,int>::key_compare key_comp; map<char,int>::iterator it; it=mymap.begin(); for (;it!=mymap.end();it++) { cout<<it->first<<":"<<it->second<<endl; } cout<<"================================="<<endl; second.clear(); second['a']=1002; second['b']=10023; while (!second.empty()) { cout << second.begin()->first << " => "; cout << second.begin()->second << endl; second.erase(second.begin()); } cout<<"================================="<<endl; mymap.insert(pair<char,int>('f',100) ); mymap.insert(pair<char,int>('g',200) ); cout<<"f => " <<mymap.find('f')->second<<endl; cout<<"g => " <<mymap.find('g')->second<<endl; cout<<"================================="<<endl; key_comp=mymap.key_comp(); cout << "mymap contains:\n"; char highest=mymap.rbegin()->first; // key value of last element it=mymap.begin(); do { cout << (*it).first << " => " << (*it).second << endl; } while ( key_comp((*it++).first, highest) ); cout << endl; return 0;}
总结:
map和multimap的区别和set和multiset的区别一样,都是带multi的可以有元素的重复。
0 0
- 第16周 范型程序补充之map用法
- 第16周 范型程序补充之vector用法
- 第16周 范型程序补充之set用法
- 第16周 范型程序补充之multiset用法
- 16周 范型程序补充之vector用法
- 第11周 项目0 补充程序
- map 的用法(待补充)
- 第9周项目5-程序补充题
- 第10、11周-程序阅读补充(1)
- 第十五周c++范型程序补充阅读(1)
- 第十五周C++范型程序补充阅读(2)
- 第十五周C++范型程序补充阅读(3)
- C++范型程序补充阅读
- C++范型程序补充阅读
- 第十五周补充程序
- 第十五周补充程序
- 第十五周补充程序
- 第十五周程序-补充程序
- 数据结构 C语言实现 顺序存储链表
- Android之EditText输入框限制表情的输入
- 知识网址收集
- MVVM学习经典资料
- STM32串口如何代码实现更稳定的接收消息
- 第16周 范型程序补充之map用法
- leetcode 303 Range Sum Query - Immutable C++
- 图像处理之图像特征提取之(三)Haar特征
- java集合面试题
- 补做作业1
- MySQL日期之DATE_FORMAT()
- spark简单代码示例
- 如果你很忙,你一定在什么地方做错了!
- 获取stm32资料的方式