std的find和reverse_iterator联合使用
2024-08-25 11:00:51
上代码:
// test2013.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include<iostream>
#include<vector>
#include<map>
#include<string>
using namespace std; struct CmpByKeyNumber {
bool operator()(const int& k1, const int& k2) {
return k1 < k2; //升序排列
}
}; int _tmain(int argc, _TCHAR* argv[])
{
std::map<int, string, CmpByKeyNumber> arr; arr.insert(make_pair(, "dd"));
arr.insert(make_pair(, "bbbbb"));
arr.insert(make_pair(, "aaaaaaaaaaa")); std::map<int, string>::iterator itTemp = arr.find();
if (itTemp == arr.end())
{
return -;
} /*
这里转为反向迭代器。
注意,正向迭代器转为反向迭代器后,反向迭代器指向的是正向迭代器的前一个元素。
所以,这里用了++:先++,itTemp指向下一个元素(即是arr.end() ),
通过这样的方式,反向迭代器和正向迭代器指向的都是同一个pair。
*/
std::map<int, string>::reverse_iterator it(++itTemp);
for (; it != arr.rend(); it++)
{
int key = it->first;
string dd = it->second;
printf("pair( %d, %s )\n", key, dd.c_str());
} printf("\ndone\n");
getchar();
return ;
}
运行效果:
完。
最新文章
- 行列转置(Oracle)
- CF 208A Dubstep(简单字符串处理)
- 使用C#选择文件夹、打开文件夹、选择文件
- log4j:ERROR A ";org.jboss.logging.appender.FileAppender"; object is not assignable to a ";org.apache.lo .
- vim 中Ctags的安装和使用
- CSS position overflow float 属性 详解
- 浩哥解析MyBatis源码(二)——Environment环境
- 网站开发进阶(四)Tomcat Server处理一个http请求的过程
- ScrollView &; HorizontalScrollView
- [20170603]12c Top Frequency histogram.txt
- JS 执行上下文
- 魔术方法__get()、__set()和__call()的用法
- 在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求(转)
- The logback manual #02# Architecture
- Python3 实现 JS 中 RSA 加密的 NoPadding 模式
- android通过命令行安装sdk
- 简单线性回归问题的优化(SGD)R语言
- java基础学习总结——异常处理
- 在 R 中估计 GARCH 参数存在的问题
- WordPress导航菜单函数