346
істеу уақыты сөздіктегі элементтер санынының
логарифміне пропорционал
болып табылады.
Сонымен, сөздікте бар жазбаны кірістіру функциясының көмегімен
түзетуге болмайды. Бұл əрекет индекс бойынша
қол жеткізу операциясы
арқылы орындалады.
Осының алдындағы листингте типі сипатталған сөздікке кірістірудің
бірнеше мысалы төменде берілген:
map_sl m2;
// Бос сөздікті құру
m2.insert(map_sl::value_type("Lena", 3157725));
str = "Anna";
num = 5536590;
m2.insert(make_pair(str, num));
num = 5530000;
// Сөздікте бар жазбаны кірістіруге талпыну:
m2.insert(make_pair(str, num));
i = m1.begin();
m2.insert(*i); // m2 сөздігіне m1 сөздігінің
// алғашқы элементін кірістіру
m2["Lena"] = 2222222;
// Элементті түзету
for (i = m2.begin(); i != m2.end(); i++) // Сөздікті
// шығару
cout << (*i).fi rst << " " << (*i).second << endl;
Программа орындалуының нəтижесі:
Anna 5536590
Ivanova N.M. 3563398
Lena 2222222
Берілген
insert
функциясының екінші формасы кірістіру үрдісін
жылдам-
дату үшін қолданылады. Осы мақсатта оған бірінші параметр ретінде кірістіру
орнын іздеу басталатын
сөздіктегі позиция беріледі
1
. Кірістіру сөздікте
x
мəні
болмаған жағдайда ғана орындалады.
Функция итераторды
х
құрамындағы
кілті бар сөздік элементіне қайтарады.
Мысалы, элементтер сөздікке өсу ретімен
орналастырылатыны белгілі
болса, кірістіру функциясына бірінші параметр ретінде осының алдындағы
элементтің позициясын беруге болады (мұндайда
кірістіру уақыты тұрақты
болады):
Достарыңызбен бөлісу: