C++工作笔记-map中结构体的比较

原理,重载小于符号。

运行截图如下:



代码如下:

//map的重载、排序

#include <map>
#include <string>
#include <iostream>
#include <time.h>
using namespace std;

typedef struct tagStudentInfo{
	int nID;
	string strName;
	bool operator<(tagStudentInfo const &_A)const{
		if (nID < _A.nID)
			return true;
		if (nID == _A.nID)
			return strName.compare(_A.strName) < 0;
		return false;
	}
}StudentInfo, *PStudentInfo;

int main(){

	//学生信息映射分数
	map<StudentInfo, int>mapStudent;
	map<StudentInfo, int>::iterator iter;
	StudentInfo studentInfo;
	studentInfo.nID = 1;
	studentInfo.strName = "小明";
	mapStudent.insert(pair<StudentInfo, int>(studentInfo, 90));
	studentInfo.nID = 2;
	studentInfo.strName = "小红";
	mapStudent.insert(pair<StudentInfo, int>(studentInfo, 80));
	for (iter = mapStudent.begin(); iter != mapStudent.end(); iter++)
		cout << iter->first.nID << " " << iter->first.strName << "   " << iter->second << endl;
	cout << endl;

	getchar();
	return 0;
}

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq78442761/article/details/79966659
文章标签: map stl
个人分类: C/C++ C++ STL
所属专栏: 工作笔记
上一篇C++工作笔记-map有自动排序的功能
下一篇Qt学习笔记-各种对话框基本使用
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭