C++ Maps
用于將兩個(gè)數(shù)據(jù)映射起來(lái),就是同過(guò)一個(gè)數(shù)據(jù),可以找到另一個(gè)數(shù)據(jù)。
所以它存儲(chǔ)的數(shù)據(jù)是成對(duì)的。也就是存儲(chǔ)的是一個(gè)對(duì)組。
C++ Maps 被用作儲(chǔ)存“關(guān)鍵字/值”對(duì)
#include <iostream>
#include <string.h>
#include <map>
using namespace std;
void show(map<string, string> &mp)
{
for (auto it = mp.begin(); it != mp.end(); it++)
{
cout << it->first << ":" << it->second << endl;
}
}
int main(int argc, char const *argv[])
{
pair<string, string> p1("張三", "54656");
map<string, string> mp;
pair<string, string> p;
mp["李四"] = "shgjagf";
mp["王五"] = "jgfhjgdwagfh";
mp["趙六"] = "jgfhjgdfh";
mp["王八"] = "jgfhjgafa";
show(mp);
auto it = mp.find("王八");
char data[] = {"sdasda "};
cout << it->first << ":" << it->second << endl;
return 0;
}
運(yùn)行結(jié)果:
李四:shgjagf
王五:jgfhjgdwagfh
王八:jgfhjgafa
趙六:jgfhjgdfh
王八:jgfhjgafa
begin
語(yǔ)法:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-708184.html
iterator begin(); |
begin()函數(shù)返回一個(gè)迭代器指向map的第一個(gè)元素。
clear
語(yǔ)法:
void clear(); |
clear()函數(shù)刪除map中的所有元素。
count
語(yǔ)法:
size_type count( const KEY_TYPE &key ); |
count()函數(shù)返回map中鍵值等于key的元素的個(gè)數(shù)。
empty
語(yǔ)法:
bool empty(); |
empty()函數(shù)返回真(true)如果map為空,否則返回假(false)。
end
語(yǔ)法:
iterator end(); |
end()函數(shù)返回一個(gè)迭代器指向map的尾部。
equal_range
Syntax:
pair equal_range( const KEY_TYPE &key ); |
equal_range()函數(shù)返回兩個(gè)迭代器——一個(gè)指向第一個(gè)鍵值為key的元素,另一個(gè)指向最后一個(gè)鍵值為key的元素。
erase
語(yǔ)法:
void erase( iterator pos ); void erase( iterator start, iterator end ); size_type erase( const KEY_TYPE &key ); |
erase()函數(shù)刪除在pos位置的元素,或者刪除在start和end之間的元素,或者刪除那些值為key的所有元素。
find作者推薦這個(gè)接口很好用
語(yǔ)法:
iterator find( const KEY_TYPE &key ); |
find()函數(shù)返回一個(gè)迭代器指向鍵值為key的元素,如果沒(méi)找到就返回指向map尾部的迭代器。
get_allocator
語(yǔ)法:
allocator_type get_allocator(); |
get_allocator()函數(shù)返回map的配置器。
insert
語(yǔ)法:
iterator insert( iterator pos, const pair<KEY_TYPE,VALUE_TYPE> &val ); void insert( input_iterator start, input_iterator end ); pair<iterator, bool> insert( const pair<KEY_TYPE,VALUE_TYPE> &val ); |
insert()函數(shù):
- 插入val到pos的后面,然后返回一個(gè)指向這個(gè)元素的迭代器。
- 插入start到end的元素到map中。
- 只有在val不存在時(shí)插入val。返回值是一個(gè)指向被插入元素的迭代器和一個(gè)描述是否插入的bool值。
key_comp
語(yǔ)法:
key_compare key_comp(); |
key_comp()函數(shù)返回一個(gè)比較key的函數(shù)。
lower_bound好用,要重載運(yùn)算符>=
語(yǔ)法:
iterator lower_bound( const KEY_TYPE &key ); |
lower_bound()函數(shù)返回一個(gè)迭代器,指向map中鍵值>=key的第一個(gè)元素。
max_size
語(yǔ)法:
size_type max_size(); |
max_size()函數(shù)返回map能夠保存的最大元素個(gè)數(shù)。
rbegin
語(yǔ)法:
reverse_iterator rbegin(); |
rbegin()函數(shù)返回一個(gè)指向map尾部的逆向迭代器。
rend
語(yǔ)法:
reverse_iterator rend(); |
rend()函數(shù)返回一個(gè)指向map頭部的逆向迭代器。
size
語(yǔ)法:
size_type size(); |
size()函數(shù)返回map中保存的元素個(gè)數(shù)。
swap
語(yǔ)法:
void swap( map &obj ); |
swap()交換obj和現(xiàn)map中的元素。
upper_bound不錯(cuò),但得重載。
語(yǔ)法:
iterator upper_bound( const KEY_TYPE &key ); |
upper_bound()函數(shù)返回一個(gè)迭代器,指向map中鍵值>key的第一個(gè)元素。
value_comp
語(yǔ)法:
value_compare value_comp(); |
value_comp()函數(shù)返回一個(gè)比較元素value的函數(shù)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-708184.html
到了這里,關(guān)于C++ STL庫(kù) map的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!