1. 程式人生 > >C++ STL之對映:map

C++ STL之對映:map

一、簡介

       map是STL中的一個關聯容器,用來儲存若干元素,這些元素都是由關鍵值key對映值value配對組成。

二、map

       在map內部,元素按照key值進行排序,排序方式是根據某種明確、嚴格的若排序進行的。

       map的所有元素都是pair,pair的第一個元素是key,第二個元素是value

       map中的對映值可以通過運算子[]中關聯key直接訪問,用法類似於陣列。

       因為map通常是由二叉搜尋樹實現,所以訪問的時間為O(n)

注意: map中的key值是唯一的

map常用函式

功能

clear()

清除map中所有函式

erase()

刪除map中指定位置的元素

insert()

在map指定位置新增pair型別元素

find()

獲取指定key值map的迭代器

begin()

map的正向迭代器的起始位置

end()

map的正向迭代器的終點位置

簡單演示:

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

int main()
{
	map<string,string> student;
	//map<key,value> <map-name>
	 
	string name,no;
	while( cin >> name >> no  )	
	{
		student[name] = no;
	}
	map<string,string>::iterator it;
	
	for(it = student.begin(); it != student.end(); ++it)
	{
		cout << "姓名:" << it->first << " 學號:" << it->second << "\n";
	}
	if( student.count("liang") ) cout << "liang的學號是:" << student["liang"] << endl;
	cout << "clear前長度為:" << student.size() << endl;
	student.clear(); 
	cout << "clear後長度為:" << student.size() << endl;
	return 0;
}