Void main(). string aa,pd = "--------------------------------\n";
{
mp ob;
ob["5"] = 100;
ob["4"] = 200;
ob["3"] = 300;
ob["1"] = 400;
ob["2"] = 500;
mp::iterator it;
string aa,pd = "--------------------------------\n";
for( it = ob.begin(); it != ob.end(); it++)
cout<<(*it).first <<" "<<(*it).second<<endl;
cout << pd;
it = ob.begin(); it++; // Виведення другого елементу
cout << (*it).first <<" "<< (*it).second<<endl;
cout << pd ;
int num = 888;
aa = "222";
ob.insert(make_pair(aa,num));
// Спроба вставки існуючого запису
num = 999;
ob.insert(make_pair(aa,num));it++;
cout <<(*it).first <<" "<< (*it).second << endl;
cout << pd ;
for( it = ob.begin(); it != ob.end(); it++)
cout<<(*it).first <<" "<<(*it).second<<endl;
cout << pd ;
//Пошук значення по ключу.
aa = "3";
it = ob.find(aa);
cout <<ob[aa] <<" "<<(*it).second;
cout<<endl <<pd;
it = ob.begin();
ob.insert(*it);
for( it = ob.begin(); it != ob.end(); it++)
cout<<(*it).first <<" "<<(*it).second<<endl;
cout<<pd;
pair_sl p[3] =
{
pair_sl("Anna", 123123),
pair_sl("Maria", 234234),
pair_sl("Teresa", 345345)
};
mp ob1;
it = ob1.begin();
for (int k = 0; k<3; k++)
it = ob1.insert(it, p[k]);
ob1.erase("Maria");
for( it = ob1.begin(); it != ob1.end(); it++)
cout<<(*it).first <<" "<<(*it).second<<endl;
}
Результат роботи програми:
1 400
2 500
3 300
4 200
5 100
--------------------
2 500
--------------------
222 888
--------------------
1 400
2 500
222 888
3 300
4 200
5 100
--------------------
300 300
-------------------
1 400
2 500
222 888
3 300
4 200
5 100
---------------------
Anna 123123
Teresa 345345
У даному прикладі третім параметром в шаблоні словника передається шаблон функціонального об'єкту, який називається предикатом. Докладніша інформація про предикати буде представлена в наступному розділі. У нашому випадку використовується предикат less<string>, забезпечуючий впорядковане по зростанню виведення словника за ключем типу string. У тексті програми закоментований предикат greater<string>. При його використанні дані словника виводяться в зворотному порядку. Слід звернути увагу на вставку пари з числом 999. Вона не виконана, оскільки в словнику вже є пара з ключем "222".
Розглянемо приклад роботи із словником, що включає ключ у вигляді цілих чисел і значення у вигляді структури. Тут показано формування словника, виведення його та вставку елементів.
#include <iostream>
#include <string>
#include <map>
using namespace std;
Дата добавления: 2014-12-26; просмотров: 614;