struct-STL map问题求助

问题描述

STL map问题求助

程序的输出结果是:

Bob,33333,2.2
Jack,222222,3.1
Mike,44444,3.5
Tom,111111,3.2

请填空。

#include
#include
#include
using namespace std;
class Student
{
public:
string name;
struct Info{
int id;
double gpa;
} info;
Student(string s,int i,double g):name(s) {
info.id = i; info.gpa = g;
}
};
int main()
{
typedef --------------- MYMAP;
Student all[] = { Student("Tom",111111,3.2),Student("Jack",222222,3.1),Student("Bob",33333,2.2),
Student("Mike",44444,3.5)};
MYMAP mp;
for( int i = 0;i < 4; ++ i)
---------------------------------
MYMAP::iterator i;
for( i = mp.begin(); i != mp.end(); ++i ) {
cout << i->first << "," << i->second.id << "," << i->second.gpa << endl;
}
return 0;
}

解决方案

 Map<int, Student>

mp..insert(i, all[i]);
时间: 2024-09-19 09:29:52

struct-STL map问题求助的相关文章

UVa 10420 List of Conquests (STL map)

10420 - List of Conquests Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=98&page=show_problem&problem=1361 In Act I, Leporello is telling Donna Elvira about his master's long list of

mfc-MFC线程中使用STL map,vector 报错(有代码和报的错误错误)

问题描述 MFC线程中使用STL map,vector 报错(有代码和报的错误错误) 有事还报这个错: map/set iterator not decrementable (上面这三个错误运行时会选一个报) code: unsigned __stdcall CDotPlots::InitParticles( PVOID InitInfo ) { CDotPlots::m_csCritical.Enter( ); ThreadArg* pThreadInfo = (ThreadArg*)Init

stl map 下标-STL容器map 下标访问的问题

问题描述 STL容器map 下标访问的问题 STL容器map 下标访问的问题定义了如下的一个map 容器 Key 是int values 是一个结构体typedef struct _prostru{ int jmqnum; int bncnun; _prostru() { jmqnum=-1; bncnun=-1; }}PROSTRU; map m_pro; m_pro[1].jmqnum=5;m_pro[2].bncnum=2; 在进程中 可以用下标访问和修改 结构体中的值线程传入后 是个指针

stl map高效遍历删除的方法

for(:iter!=mapStudent.end():) {      if((iter->second)>=aa)      {          //满足删除条件,删除当前结点,并指向下面一个结点               mapStudent.erase(iter++):      }      else      {      //条件不满足,指向下面一个结点      iter++:      } } 这种删除方式也是STL源码一书中推荐的方式,分析 mapStudent.era

STL map学习

map是C++STL中的一个重要的类库,下面介绍一些使用功能! 使用时需加头文件<map> 1.begin和end的使用方法,此时注意end并不是最后一个,而是最后一个的下一个 2.下面介绍count,count(n)返回n在容器中出现的次数,由于键值在容器中具有唯一性,因此count(n)的值非0即1. 3.介绍一下erase,注意删除方式 4.find,很明显就是查找元素. 5.最重要的一个操作了,插入元素,不会插入功能,基本就用不了map了! 6.swap,注意写法,功能也很强大!

浅谈c++中的stl中的map用法详解_C 语言

Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道.这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处. 下面举例说明什么是一对一的数据映射.比如一个班级中,每个学生的学号跟他的姓名就存在着一一

c++-关于STL的map.find()问题

问题描述 关于STL的map.find()问题 #include #include using namespace std; int main( ) { map m1; map ::iterator m1_Iter; m1.insert ( pair ( 1, 20 ) ); m1.insert ( pair ( 4, 40 ) ); m1.insert ( pair ( 3, 60 ) ); m1.insert ( pair ( 2, 50 ) ); m1.insert ( pair ( 6,

std::set/std::map简介

std::set/std::map (以下用 std::map 代表) 是常用的关联式容器,也是 ADT(抽象数据类型) .也就是说,其接口(不是 OO 意义下的 interface)不仅规定了操作的功能,还规定了操作的复杂度 (代价/cost).例如 set::insert(iterator first, iterator last) 在通常情况下是 O(N log N), N 是区间的长度:但是如果 [first, last) 已经排好序(在 key_compare 意义下),那么复杂度将会

详细解说STL hash_map系列 〔转载〕

详细解说STL hash_map系列 0 为什么需要hash_map 1 数据结构:hash_map原理 2 hash_map 使用 2.1 一个简单实例 2.2 hash_map 的hash函数 2.3 hash_map 的比较函数 2.4 hash_map 函数 3 相关hash容器 4 其他 4.1 hash_map和map的区别在哪里? 4.2 什么时候需要用hash_map,什么时候需要用map? 4.3 如何在hash_map中加入自己定义的类型? 4.4如何用hash_map替换程