1. 程式人生 > >c++ map基本用法

c++ map基本用法

一.宣告

//標頭檔案
#include<map>

map<int, string> ID_Name;

// 使用{}賦值是從c++11開始的
map<int, string> ID_Name = {
                { 2015, "Jim" },
                { 2016, "Tom" },
                { 2017, "Bob" } };

二.插入

一.用insert函式插入pair資料
二.用insert函式插入value_type資料
三.用陣列[]方式插入資料

注意: make_pair():
無需寫出型別, 就可以生成一個pair物件
例:
std::make_pair(42, '@');


而不必費力寫成:
std::pair<int, char>(42, '@');

#include <iostream>
#include <map>
using namespace std;

int main()
{
    	map<char, int> mymap;
	map<char, int> anothermap;
	mymap.insert(std::pair<char, int>('a', 100));
    	mymap.insert(std::pair<char, int>('z', 200));
	mymap.insert(make_pair('c',1000));
	mymap.insert(make_pair('d',2000));
	map<char,int>::iterator it;
	/*
	for(it = mymap.begin(); it!= mymap.end();it++)
	{
		cout<<it->first<<" ";
		cout<<it->second<<"  ";
		cout<<endl;
		
	}
	*/
	anothermap.insert(mymap.begin(), mymap.find('z'));//範圍多值插入
	anothermap['g'] = 10000;//陣列形式插入
	anothermap.insert({ { 'd', 100 }, {'e', 200} });// 列表形式插入
	anothermap.insert(map<char, int>::value_type('h',222));
	for(it = anothermap.begin(); it!= anothermap.end();it++)
	{
		cout<<it->first<<" ";
		cout<<it->second<<"  ";
		cout<<endl;
	}
	return 0;
}


/*
output:
a 100  
c 1000  
d 2000  
e 200  
g 10000  
h 222  
*/

相關推薦

c++ map基本用法

一.宣告 //標頭檔案 #include<map> map<int, string> ID_Name; // 使用{}賦值是從c++11開始的 map<int, str

stl map 基本用法

建構函式 map<int, string> m_map; map<int, string> m_map = {make_pair(1, "test")}; 插入 m_map

jsp中的c:foreach基本用法

在JSP的開發中,迭代是經常要使用到的操作。例如,逐行的顯示查詢的結果等。在早期的JSP中,通常使用Scriptlets來實現Iterator或者Enumeration物件的迭代輸出。現在,通過JSTL的迭代標籤可以在很大的程度上簡化迭代操作。          JSTL所

C++ map的PC蛋蛋平臺搭建基本操作和用法

out 一個 c++ 快速查找 clear 完成後 擁有 size_type del PC蛋蛋平臺搭建Q1446595067 1、map簡介 map是一類關聯式容器。它的特點是增加和刪除節點對叠代器的影響很小,除了那個操作節點,對其他的節點都沒有什麽影響。對於叠代器來說,可

C++中map的操作及基本用法

一.Map簡介 Map是STL的一個容器,它提供一對一的hash。 1)第一個可以稱為關鍵字(key),每個關鍵字只能在map中出現一次。 2)第二個可為關鍵字的值(value)。 Map以模板(泛型)方式實現,可以儲存任意型別的變數,包括使用者自定義的

[C#]正則表達式的基本用法

是否 lin d+ rem 正則 模式 arch mat [0 C#正則表達式的基本用法 正則表達式(regular expression)描述了一種字符串匹配的模式(pattern),可以用來檢查一個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個條件的子串

C# DataSet的基本用法

一個表 column 字段 更新數據 user 恢復 row extend 註意 首先我們需要打開一個聯結: string MyConnString = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:/test/tes

list,map,set集合的基本用法及差異

nbsp htable body 根據 pos null clas 速度 就是 List:1.可以允許重復的對象。    2.可以插入多個null元素。 3.是一個有序容器,保持了每個元素的插入順序,輸出的順序就是插入的順序。 4.常用的實

c++ vector, set, map用法總結

一、vector 向量容器 (1)標頭檔案 #include<vector> (2)建立vector物件, vector<int> vec;

c-3:位運算:位運算基本用法

基本操作 1.與運算(AND):0 AND 0 = 0  (全為1才得1)                     1 AND 0 = 0        

c++中函式的基本用法(學生筆記)

使用函式首先要定義函式。 例如: void printmessage() { cout<<“How do you do!”<<endl;} 函式呼叫時應明白形式引數和實際引數的區別。 例如: void abc(int a,int b,int c) 其中a,b,c就為形

C++ STL中的map容器用法詳解

Map是STL的一個關聯容器,它提供一對一(其中第一個可以稱為關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱為該關鍵字的值)的資料 處理能力,由於這個特性,它完成有可能在我們處理一對一資料的時候,在程式設計上提供快速通道。這裡說下map內部資料的組織,m

C#中的XML基本用法

XML的基本用法 新建XML文件 public static void CreateXML() { /* * XML:可擴充套件的標記語言 * 用於儲存資料,類似於小型資料庫

關於c++中const的基本用法

c++中的const 有點類似於c裡的巨集定義#define,但是似乎是在巨集定義基礎上的程式碼優化,具體我解釋不清,下面主要提到的是 const 在c++中的3中基本用法: 1.指向常量的指標 例如:const char*  pc=“sada"; 含義:宣告一個名為

C++ std::string 不可初始化為NULL及基本用法

偶然看到一個問題順便總結一下stdstring">偶然看到一個問題,順便總結一下std::string C++ basic_string::_S_construct null not valid stackoverflow例子 std::string 字

集合框架--Map集合的一些基本用法

package cn.itcast.api.a.map; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Ma

c++中STL中的next_permutation函式基本用法

對於next_permutation函式是針對於排列組合問題的庫函式,它的排序方式是按照字典的方式排列的·: 如以下程式碼對於next_permutation函式的初步解釋: #include<cstdio> #include<cstring> #

queue (C++中STL庫常用queue基本用法的實現) ([連結串列],[陣列]的實現)

Queue: 依循先進先出的規則的單調佇列. 下面是用連結串列實現的queue的幾個基本用法和一個clear()的補充用法: #include<stdio.h> /* *Date:2018/10/22 *Author:Fushicho *Name:queue連

C++ vector容器基本用法

vector initialize: vector<int> v1; //empty vector<int> v2(v1) ;  vector<int> v2(v1.begin(), v1.end()); vector<int

C++的一些基本用法

這篇部落格可能不是像通常的程式設計書籍一樣,從“hello world”進行一個視覺化的一個例程,主要就是對一些C++的特性,包括關鍵字的一些理解,也是用到一個整理一個,所以邏輯性和連貫性可能不是很好,純粹作為C++的一個知識積累,如果當中有不正確的地方,還請批