核心代码
#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
相关文章:
如何用狗爹虚拟主机快速搭建网站?
公司网站制作价格怎么算,公司办个官网需要多少钱?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
如何快速生成ASP一键建站模板并优化安全性?
如何快速重置建站主机并恢复默认配置?
如何快速生成高效建站系统源代码?
建站之星免费版是否永久可用?
宝塔Windows建站如何避免显示默认IIS页面?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
,网页ppt怎么弄成自己的ppt?
定制建站价位费用解析与套餐推荐全攻略
免费网站制作appp,免费制作app哪个平台好?
如何通过.red域名打造高辨识度品牌网站?
*服务器网站为何频现安全漏洞?
如何用IIS7快速搭建并优化网站站点?
建站之星会员如何解锁更多建站功能?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
如何在宝塔面板创建新站点?
如何在Windows服务器上快速搭建网站?
如何在橙子建站上传落地页?操作指南详解
如何在阿里云香港服务器快速搭建网站?
内网网站制作软件,内网的网站如何发布到外网?
子杰智能建站系统|零代码开发与AI生成SEO优化指南
如何在阿里云ECS服务器部署织梦CMS网站?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
Python路径拼接规范_跨平台处理说明【指导】
个人摄影网站制作流程,摄影爱好者都去什么网站?
如何快速生成可下载的建站源码工具?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
在线制作视频的网站有哪些,电脑如何制作视频短片?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
制作公司内部网站有哪些,内网如何建网站?
建站之星后台管理如何实现高效配置?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
七夕网站制作视频,七夕大促活动怎么报名?
北京企业网站设计制作公司,北京铁路集团官方网站?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
如何快速启动建站代理加盟业务?
如何设置并定期更换建站之星安全管理员密码?
自助网站制作软件,个人如何自助建网站?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
高端网站建设与定制开发一站式解决方案 中企动力
青浦网站制作公司有哪些,苹果官网发货地是哪里?
微信h5制作网站有哪些,免费微信H5页面制作工具?
独立制作一个网站多少钱,建立网站需要花多少钱?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
如何通过NAT技术实现内网高效建站?
如何在新浪SAE免费搭建个人博客?
*请认真填写需求信息,我们会在24小时内与您取得联系。