мен қатар сөздікке жаңа мəндерді қосуға болады. Дəстүрлерден бас тартпай,
344
for (i = m1.begin(); i != m1.end(); i++)
cout << (*i).fi rst << " " << (*i).second << endl;
i = m1.begin(); i++;
// Екінші элементті шығару
cout << "Екінші элемент: ";
cout << (*i).fi rst << " " << (*i).second << endl;
cout << "Vasia: " << m1["Vasia"] << endl;
// Элементті кілті бойынша шығару
return
0;
}
Программаның оқылуын жақсарту үшін сөздік типінің қысқаша белгіленуі
енгізілген (
// 1
түрінде белгіленген оператор). Əрбір адам туралы мəліметтер
phonebook
файлының бір жолында орналасқан: алдымен телефон нөмірі,
одан кейін бос орын арқылы адамның аты-жөні жазылады:
1001002 Petya К.
3563398 Ivanova N.M.
1180316 Vovochka
2334476 Vasia
Сөздіктің итераторлары үшін инкремент жəне декремент операцияларын
қолдануға болады, бірақ
+
жəне
–
операцияларына тыйым салынған. Төменде
программа жұмысының нəтижиесі көрсетілген (сөздіктің сұрыпталып реттел-
ген түрде шығарылатынына назар аударыңыз):
Petya K. 1001002
Ivanova N.M. 3563398
Vovochka 1180316
Vasia 2334476
m1:
Ivanova N.M. 3563398
Petya K. 1001002
Petya P. 2134622
Vasia 2334476
Vovochka 1180316
Екінші элемент: Petya K. 1001002
Vasia: 2334476
Сөздікте элементтерді іздеу үшін төмендегі функциялар анықталған:
iterator fi nd(const key_type& x);
const_iterator fi nd(const key_type& x) const;
iterator lower_bound(const key_type& x);
const_iterator lower_bound(const key_type& x) const;
iterator upper_bound(const key_type& x);
const_iterator upper_bound(const key_type &x) const;
size_type count(const key_type& x) const;
345
Іздеу сəтті орындалған жағдайда
fi nd
функциясы табылған элементке ите-
раторды немесе кері жағдайда
end()
мəнін қайтарады.
Келесі
upper_bound
функциясы итераторды кілті х шамасынан кіші бол-
майтын алғашқы элементке қайтарады, ондай элемент жоқ болса,
end()
мəнін
қайтарады (егер
х
кілті бар элемент сөздікте бар болса, сол элементке итера-
тор қайтарылады).
Ал
Достарыңызбен бөлісу: