upper_bound функциясы итераторды кілті х шамасынан кіші бол-
майтын алғашқы элементке қайтарады, ондай элемент жоқ болса,
end() мəнін
қайтарады (егер
х кілті бар элемент сөздікте бар болса, сол элементке итера-
тор қайтарылады).
Ал
lower_bound функциясы итераторды кілті
х шамасынан үлкен алғаш-
қы элементке немесе ондай элемент жоқ болса,
end() мəнін қайтарады.
Жоғарыда көрсетілген мысалға келесі операторларды қосайық:
getline(cin, str); if (m1.fi nd(str) != m1.end()) cout << m1 [str]; else{ cout << (*m1.upper_bound(str)).fi rst << " "; cout << (*m1.lower bound(str)).fi rst << " "; } Егер пернетақтадан сөздікте бар аты-жөнді енгізсе, онда соған сəйкес
келетін телефон нөмірі шығарылады, кері жағдайда – алфавит бойын-
ша енгізілген атыжөннен кейін орналасатын алғашқы адамның тегі екі рет
шығарылады, мысалы:
Petya M. // Астын сызуу арқылы қолданушының енгізген // мəліметі белгіленген Petya P. Petya P. count функциясы кілті
х шамасына тең болатын элементтердің санын
қайтарады (ондай элементтер саны 0 немесе 1 болуы мүмкін).
Элементтерді кірістіру жəне жою үшін төмендегі функциялар
анықталған:
pair insert(const value_type& x); iterator insert(iterator position, const value_type& x); template void insert(InputIter fi rst, InputIter last); void erase(iterator position); size_type erase(const key_type& x); void erase(iterator fi rst, iterator last); void clear(); Функцияның бірінші формасы сөздікке «кілт–мəні» жұбын кірістіру үшін
қолданылады. Функция кірістірілген мəнді көрсететін итератордан жəне опе-
рация нəтижесінің бульдік көрсеткішінен тұратын жұпты қайтарады, егер
берілген кілті бар жазба сөздікте жоқ болса, бульдік көрсеткіш