C + + STL 의 hashtable,hash_map 와 hashmultimap,hash_set 와 hashmultiset 사용
5834 단어 STL
, 。
hash_table STL hash_map hash_set ,hash_table / / O(1),
, hash_table , ,
/ / hash_table。hash_table hash_table
hash_table , list , copy, ,
hash_table hash_table( ) 。
//SGI STL map ,hash_map hash table 。
//hash_map ,hash_multimap 。
// map multimap 。 hash table ,
//hash_map(hash_multimap) hash table 。
//
//hash_multimap hash_map multimap map ,
//hash_multimap hash table, ,
// insert_equal(),hash_multimap hash_map , 。
#include
#include
using namespace std;
//using namespace _gnu_cxx;
int main()
{
hash_map<char, int, hash<char>, equal_to<char> > m;//char ,int 。
m['a'] = 10;
m['b'] = 2;
cout << m.size() << endl;// 2.
cout << m.find('a')->second << endl;
cout << m.count('a') << endl;
system("pause");
return 0;
}
/* hash_set hash_multiset: hashtable , hash_set , hashtable 。 set、multiset ,hash_set、hash_multiset 。 hash_set set , 。 set hashtable insert_unique()。 hash_multiset multiset , , multiset 。 hashtable insert_equal()。 hash_map hash_multmap: hashtable , hash_map , hashtable 。 map、multimap ,hash_map、hash_multimap 。 hash_map map , 。 set hashtable insert_unique()。 hash_multimap multimap , ,pair hashtable insert_equal()。 */
//unordered_map hash_map ,unordered_map C++11 ,
#include
#include
#include
using namespace std;
int main()
{
unordered_map<const char*, int>days;
days["january"] = 31;
days["february"] = 28;
days["march"] = 31;
days["april"] = 30;
days["may"] = 30;
days["june"] = 30;
cout << "june->" << days["june"] << endl;//30
unordered_map<const char*, int>::iterator ite1 = days.begin();
unordered_map<const char*, int>::iterator ite2 = days.end();
for (; ite1 != ite2; ++ite1)
cout << ite1->first << " " << ite1->second << endl;
system("pause");
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
STL 원자로 작동먼저 전연 두 갈래 나무의 정의를 살펴보자. 만약에 두 갈래 나무의 깊이를 h로 설정하면 h층을 제외한 다른 각 층(1~h-1)의 결점은 모두 최대 개수에 달하고 h층의 모든 결점은 연속적으로 맨 왼쪽에 집중된다. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.