multimap遍历与查找

    std::multimap<int, std::string> m;
	m.insert(std::make_pair(0, "w0"));
	m.insert(std::make_pair(1, "w1"));
	m.insert(std::make_pair(1, "w11"));
	m.insert(std::make_pair(2, "w2")); 

	for (std::multimap<int, std::string>::iterator it = m.begin(); it != m.end(); it++)
	{
		printf("%d - %s\n", it->first, it->second.c_str());
	} 

	std::multimap<int, std::string>::iterator fit = m.find(1); //just first one that key = 1

	std::pair<std::multimap<int, std::string>::iterator, std::multimap<int, std::string>::iterator> pr = m.equal_range(1); //all that key = 1
	std::multimap<int, std::string>::iterator pit = pr.first;
	while (pit != pr.second)
	{
		printf("%d - %s\n", pit->first, pit->second.c_str());
		pit++;
	}

multimap遍历与查找,布布扣,bubuko.com

时间: 2024-10-30 08:43:27

multimap遍历与查找的相关文章

Java数据结构 遍历 排序 查找 算法实现

1. 遍历算法(遍历二叉树6种方法) 1.1. 概述 遍历算法针对二叉树而言的,主要有先序.中序.后序三种遍历顺序,三种顺序又分别有递归和常规算法,二叉树遍历的主要思想是:遍历左子树,遍历右子树,访问根节点,由这三者的遍历顺序来确定是先序.中序还是后序.下面只要求掌握递归遍历算法,常规遍历算法见附录一. 1.2. 先序遍历算法 遍历顺序:访问根节点,遍历左子树,遍历右子树.代码如下: void preOrder(BinaryTreeNode bt) { if (bt == null)// 如果当

C++ Multimap运用实例—查找元素

C++ Multimap运用实例—查找元素 #include <map> #include <iostream> #include <algorithm> #include <utility> using namespace std; int main() { map<float, float> map1 = { {1,7},{2,8},{3,9},{4,8},{5,6},{6,1},{7,3} }; auto posKey = map1.fin

单链表的尾插,头插,遍历,查找和插入

单链表的基本结构 function Node(val,next){ this.val = val; this.next = next || null; } 1.链表的创建 a.尾插法,就是正常的尾部顺序插入,从数组创建链表 function tailCreateList(aSrc){ var head = new Node(); pHead = head; aSrc.forEach((item) => { var node = new Node(item); pHead.next = node;

[javaSE] 数据结构(二叉树-遍历与查找)

前序遍历:中,左,右 中序遍历:左,中,右 后序遍历:左,右,中 二叉树查找 从根节点进行比较,目标比根节点小,指针移动到左边 从根节点进行比较,目标比根节点大,指针移动到右边 /** * 前序遍历 * @param tree */ public void preOrder(BSTree tree){ preOrder(tree.mRoot); } public void preOrder(BSTNode node){ if(node!=null){ System.out.print(node.

双向链表(插入,删除,追加,正反向遍历,查找。。。)

#include <iostream> #include <stdexcept> using namespace std; class List { public: List(void) : m_head(NULL), m_tail(NULL), m_size(0){} ~List(void) { for(Node* node = m_head; m_head; m_head = node) { node = m_head->m_next; delete m_head; }

lua使用io.open跨平台文件夹遍历匹配查找

-- Desc :实现在LUA_PATH中的lua文件中遍历寻找没用到PNG_PATH路径下的png图片,并将其打印出来. -- Date :12:49:28 2014-09-04 1 print("Lua Script Start") 2 3 function getFileName( path ) 4 len = string.len(PNG_PATH); 5 return string.sub(path, len+2) --  remove "/" 6 end

遍历、查找

1.递归添加树节点 先找出所有根节点,添加到树,然后根据根节点的id遍历找出所有对应子节点添加到其子节点处. 递归要有跳出条件,方法要自己调用自己. List<ClassDG> list = new List<ClassDG>() { new ClassDG() {ID="0",PID="",name="0" }, new ClassDG() {ID="1",PID="",name=

二叉排序树的建立、先序/中序/后序遍历、查找

一.定义与性质 定义  二叉排序树(Binary Sort Tree)又称二叉查找(搜索)树(Binary Search Tree).其定义为:二叉排序树或者是空树. 性质 (1) 二叉排序树中任一结点x,其左(右)子树中任一结点y(若存在)的关键字必小(大)于x的关键字. (2) 二叉排序树中,各结点关键字是惟一的.  注意:实际应用中,不能保证被查找的数据集中各元素的关键字互不相同,所以可将二叉排序树定义中BST性质(1)里的"小于"改为"大于等于",或将BST

二叉树的创建、遍历、查找、删除

一.二叉树的基本概念 一棵非空的二叉树由根结点及左.右子树这三个基本部分组成.如下图: 数字8为根节点,1.4.7.13为叶子节点,8的左边为左子树,数值都比根节点8小,右边为右子树,数值都比根节点8大. 二.二叉树的遍历 前序遍历:根->左->右(8-3-1-6-4-7-10-14-13); 中序遍历:左->根->右(1-3-4-6-7-8-10-13-14); 后序遍历:左->右->根(1-4-7-6-3-13-14-10-8); 典型应用分析: 1) 输出某个文件