已知:每类奖励下面不止四种,是不确定数量(至少一种)。要求有可领取奖励的块上移到顶,如果有多个可领奖励块,它们的前后顺序和原来一样。这里每个标题栏和可领取块都是一张map里面的元素。如下图:

解:1.std::map<int, STRCARD>表按照标题分类转为一张std::vector<std::vector<STRCARD>>。(最后一行不可遗漏)

std::vector<STRCARD> vecCard;vecCard.clear();for (int i = 0; i < m_mapCard.size(); i++){if (m_mapCard[i].bTitle == true && i!=0){std::vector<STRCARD> vecCardTmp;for (int i = 0; i < vecCard.size(); i++){vecCardTmp.push_back(vecCard[i]);}m_vecCard.push_back(vecCardTmp);vecCard.clear();vecCard.push_back(m_mapCard[i]);}else{vecCard.push_back(m_mapCard[i]);}}m_vecCard.push_back(vecCard);

2.对形成的std::vector<std::vector<STRCARD>>排序,最后形成排好序的std::vector<std::vector<STRCARD>>

std::vector<std::vector<STRCARD>> m_vecCardTmp;for (int i = m_vecCard.size()-1; i >=0 ; i--){if (true == getJudge(m_vecCard[i])){m_vecCardTmp.insert(m_vecCardTmp.begin(),m_vecCard[i]);}else{if (m_vecCardTmp.size() <= 1)m_vecCardTmp.insert(m_vecCardTmp.end(), m_vecCard[i]);elsem_vecCardTmp.insert(m_vecCardTmp.end()-1, m_vecCard[i]);}}

源码下载

http://download.csdn.net/detail/luoyikun/8896539

vector<vector>排序相关推荐

  1. C++sort如何使用lambda表达式对一维vector和二维vector进行排序

    文章目录 一维vector排序 二维vector排序 Lambda的语法 Capture(用以访问外部作用域) 问题:今天刷题的时候,需要对二维vectorn×2_{n\times 2}n×2​按照第 ...

  2. Boost:在GPU上对int的std :: vector进行排序

    Boost:在GPU上对int的std :: vector进行排序 实现功能 C++实现代码 实现功能 Boost的compute模块,在GPU上对int的std :: vector进行排序 C++实 ...

  3. C++的STL库,vector sort排序时间复杂度 及常见容器比较

    http://www.cnblogs.com/sthv/p/5511921.html http://www.169it.com/article/3215620760.html http://www.c ...

  4. c++:vector sort()排序

    sort()函数:sort(begin, end, cmp),其中begin为指向待sort()的数组的第一个元素的指针,end为指向待sort()的数组的最后一个元素的下一个位置的指针,cmp参数为 ...

  5. sort函数进行二维vector的排序

    利用一组数据来说明,sort函数进行二维vector的排序: envelopes = [[5,4],[6,4],[6,7],[2,3]] 代码如下: #include<iostream> ...

  6. java vector的排序_Java用vector容器排序

    /** * 功能:定义一个Student数组,其中保存学生的基本信息,包括姓名,学号,性别,还有三门课的成绩 * 和课程对应的学分,计算出学分积,降序排序 * 时间:2014年6月4日16:33:24 ...

  7. vector排序|vector多维数组排序|vector自定义排序|不改变相同元素相对顺序比较

    vector<int>排序 头文件:#include <algorithm> 示例如下,默认升序 #include <iostream> #include < ...

  8. java vector的排序_java 中vector 排序

    展开全部 自定义排序吧,自己写一62616964757a686964616fe58685e5aeb931333332623436个比较子, 实现Comparator借口, 在比较子之中实现自己的比较规 ...

  9. std中稳定排序算法_实战c++中的vector系列--使用sort算法对vector进行排序(对vector排序、使用稳定的排序std::stable_sort())...

    写了挺多关于vector的操作了,正好工作中遇到对vector进行排序的问题,这里就讨论一下. 直接使用sort算法,那就先了解一下: template void sort (RandomAccess ...

最新文章

  1. 如何充分利用JavaScript(ES6)中的解构功能
  2. php学习,一个简单的Calendar(2) 一个简单的活动页面
  3. 微服务、DevOps…不是效率银弹,请同时升级你的管理方式
  4. druid配置数据库连接使用密文密码
  5. mysql数据库对时间的函数吗_mysql 数据库 时间函数
  6. js 和 query 获取页面和滚动条的高度
  7. Asp.Net Core 使用Quartz基于界面画接口管理做定时任务
  8. Spring3 报org.aopalliance.intercept.MethodInterceptor问题解决方法
  9. 2015年全年目标及执行情况跟踪
  10. 华三 h3c vrrp和监视端口配置
  11. 鸿蒙2.0内测版手机版,不再遮遮掩掩,鸿蒙2.0测试版下月发布,用于手机内测
  12. python 随机密码生成_python生成随机密码,包含大小写和数字
  13. 终端天线—7.UWB天线仿真
  14. 又有一波证照实现电子化!电子印章成为政务服务新动力
  15. ipython安装报错无效_pip,IPython安装(Python2.7版本)windows环境和Linux环境
  16. 雷电4模拟器安装xposed框架(2022年)
  17. python柱状图颜色_echarts柱状图,改变柱状颜色
  18. SDUT OJ C语言实验——Hello World!(printf练习)
  19. 微博之争,没有硝烟的互联网战争
  20. 深入浅出自然语义处理原理并构建自然语义处理(NLP)模型GPT2

热门文章

  1. wdm驱动的学习初步
  2. 一种基于傅里叶变换的相位配准算法phase correlation approach,利用互功率谱得到时空的平移。
  3. abort()函数使用
  4. SONY索尼A7S3意外断电后内存卡找不到视频文件的数据恢复
  5. 虚拟存储管理(6.1)
  6. 【有限马尔科夫链状态分解+Kosaraju 算法】基于Kosaraju 算法和可达矩阵的有限马尔科夫链状态分解
  7. 还不了解什么是商业智能(BI)?看完这篇文章就懂了
  8. STM32学习笔记(五 定时器及应用 1 定时器基本原理 )
  9. 什么是软件测试,软件测试究竟是做什么的
  10. 成年人的崩溃一触即发,掌握学习能力才能突破认知结界,干货满满!并带你分享你如何掉入互联网大佬的各种陷阱...