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();
Функцияның бірінші формасы сөздікке «кілт–мəні» жұбын кірістіру үшін
қолданылады. Функция кірістірілген мəнді көрсететін итератордан жəне опе-
рация нəтижесінің бульдік көрсеткішінен тұратын жұпты қайтарады, егер
берілген кілті бар жазба сөздікте жоқ болса, бульдік көрсеткіш
Достарыңызбен бөлісу: |