核心代码
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
struct _AREA_VECTOR_STRUCT
{
int nAreaType;//区域类型
int nAreaID;//区域ID
};
void CtestDlg::OnBnClickedButton2()
{
vector<_AREA_VECTOR_STRUCT> structAreaHistory;//车辆上一次所在区域
vector<_AREA_VECTOR_STRUCT> structAreaNow;//车辆本次所在区域
vector<_AREA_VECTOR_STRUCT> OutStructAreaVector;//输出区域
_AREA_VECTOR_STRUCT structVehicle;
//模拟上一次车辆所在的区域集合
structVehicle.nAreaType = 2;
structVehicle.nAreaID = 0x45;
structAreaHistory.push_back(structVehicle);
structVehicle.nAreaID = 0x7A;
structAreaHistory.push_back(structVehicle);
structVehicle.nAreaID = 0x88;
structAreaHistory.push_back(structVehicle);
structVehicle.nAreaType = 3;
structVehicle.nAreaID = 0x55;
structAreaHistory.push_back(structVehicle);
structVehicle.nAreaID = 0x88;
structAreaHistory.push_back(structVehicle);
//模拟本次车辆所在的区域集合
structVehicle.nAreaType = 2;
structVehicle.nAreaID = 0x88;
structAreaNow.push_back(structVehicle);
structVehicle.nAreaID = 0x45;
structAreaNow.push_back(structVehicle);
structVehicle.nAreaID = 0x11;
structAreaNow.push_back(structVehicle);
structVehicle.nAreaType = 3;
structVehicle.nAreaID = 0x55;
structAreaNow.push_back(structVehicle);
//排序,先按区域类型排序,再按区域ID排序
sort(structAreaHistory.begin(), structAreaHistory.end(),[] (_AREA_VECTOR_STRUCT structArea1, _AREA_VECTOR_STRUCT structArea2)->bool
{
if(structArea1.nAreaType != structArea2.nAreaType)
return structArea1.nAreaType < structArea2.nAreaType;
else
return structArea1.nAreaID < structArea2.nAreaID;
});
sort(structAreaNow.begin(), structAreaNow.end(),[] (_AREA_VECTOR_STRUCT structArea1, _AREA_VECTOR_STRUCT structArea2)->bool
{
if(structArea1.nAreaType != structArea2.nAreaType)
return structArea1.nAreaType < structArea2.nAreaType;
else
return structArea1.nAreaID < structArea2.nAreaID;
});
int a = 0;
//求差,结果为离开区域的集合(出区域)
set_difference(structAreaHistory.begin(), structAreaHistory.end(), structAreaNow.begin(), structAreaNow.end(), back_inserter(OutStructAreaVector),
[](_AREA_VECTOR_STRUCT structArea1, _AREA_VECTOR_STRUCT structArea2)->bool
{
if(structArea1.nAreaType != structArea2.nAreaType)
return structArea1.nAreaType < structArea2.nAreaType;
else
return structArea1.nAreaID < structArea2.nAreaID;
});
if(OutStructAreaVector.size() != 0)
{
TRACE("出");
}
OutStructAreaVector.clear();//先清空
//反过来求差,结果为新进入的区域集合(新进区域)
set_difference(structAreaNow.begin(), structAreaNow.end(), structAreaHistory.begin(), structAreaHistory.end(), back_inserter(OutStructAreaVector),
[](_AREA_VECTOR_STRUCT structArea1, _AREA_VECTOR_STRUCT structArea2)->bool
{
if(structArea1.nAreaType != structArea2.nAreaType)
return structArea1.nAreaType < structArea2.nAreaType;
else
return structArea1.nAreaID < structArea2.nAreaID;
});
if(OutStructAreaVector.size() != 0)
{
TRACE("重新进");
}
}
# stl
# set_difference
# C++ STL入门教程(7) multimap、multiset的使用
# c++ STL set_difference set_intersection set_union
# c++ STL库容器之集合set代码实例
# 新进
# 再按
# 清空
# struct
# _AREA_VECTOR_STRUCT
# std
# int
# namespace
# ID
# void
# nAreaID
# CtestDlg
# nAreaType
# algorithm
# cpp
# include
# brush
# pre
# class
# vector
相关文章:
建站主机选购指南:核心配置与性价比推荐解析
如何配置WinSCP新建站点的密钥验证步骤?
如何选择美橙互联多站合一建站方案?
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
如何获取PHP WAP自助建站系统源码?
如何在阿里云虚拟主机上快速搭建个人网站?
网站按钮制作软件,如何实现网页中按钮的自动点击?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
浅析上传头像示例及其注意事项
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
如何在宝塔面板创建新站点?
建站之星后台管理如何实现高效配置?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
已有域名如何免费搭建网站?
如何在宝塔面板中修改默认建站目录?
定制建站流程解析:需求评估与SEO优化功能开发指南
如何确保FTP站点访问权限与数据传输安全?
,制作一个手机app网站要多少钱?
建站之星如何开启自定义404页面避免用户流失?
名字制作网站免费,所有小说网站的名字?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
简单实现Android文件上传
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
如何选择服务器才能高效搭建专属网站?
广德云建站网站建设方案与建站流程优化指南
山东云建站价格为何差异显著?
海南网站制作公司有哪些,海口网是哪家的?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
如何在香港服务器上快速搭建免备案网站?
建站主机核心功能解析:服务器选择与网站搭建流程指南
如何实现建站之星域名转发设置?
python的本地网站制作,如何创建本地站点?
如何挑选优质建站一级代理提升网站排名?
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
ppt制作免费网站有哪些,ppt模板免费下载网站?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
如何构建满足综合性能需求的优质建站方案?
如何通过FTP空间快速搭建安全高效网站?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
如何快速生成橙子建站落地页链接?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
,如何利用word制作宣传手册?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
如何获取免费开源的自助建站系统源码?
建站主机CVM配置优化、SEO策略与性能提升指南
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
*请认真填写需求信息,我们会在24小时内与您取得联系。