Void main(). pair_sl p[3] = { pair_sl("Anna", 123123),
{
pair_sl p[3] = { pair_sl("Anna", 123123),
pair_sl("Maria", 234234),
pair_sl("Teresa", 345345)};
map_s1 m1;
map_s1::iterator i = m1.begin();
for (int k = 0; k<3; k++)
i = m1.insert(i, p[k]); // sic!
for (i = m1.begin(); i != m1.end(); i++)
cout << (*i).first <<" " << (*i).second << endl;
}
Результат роботи програми:
Anna 123123
Maria 234234
Teresa 345345
Третя форма функції insert використовується для вставки групи елементів, яка визначається діапазоном ітераторів. Функції видалення елементів і очищення словника аналогічні однойменним функціям інших контейнерів: перша форма функції erase видаляє елемент словника з позиції, заданої ітератором, друга – по заданому ключу, а третя видаляє діапазон елементів. Операції вставки в словник не приводять до псування пов'язаних з ними ітераторів і посилань, а операції видалення роблять недійсними тільки ітератори і посилання, пов'язані з елементами, які видаляються.
Приклад вставки, видалення, пошуку і впорядкування елементів елементів в словнику:
#include <iostream>
#include <string>
#include <map>
using namespace std;
// Предикат less
typedef map <string ,int, less<string> > mp; //1
// Предикат greater
// typedef map <string,int, greater<string> > mp; //2
typedef pair <string, int > pair_sl;
Дата добавления: 2014-12-26; просмотров: 621;