ΠΡΠΎΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎΠ±ΡΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (ΡΠ°Π±Π». 11.7) ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ ΡΠΈΠΏΠΎΠ² (ΡΠ°Π±Π». 11.3), ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΡ Ρ Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 11.4.
ΠΡΠ΅ΡΠ°ΡΠΎΡΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Ρ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 10.5.1).
11.2.1. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ, ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ°ΡΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΈΠΏΡ ΠΊΠ»ΡΡΠ° ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ; ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π°Π±ΠΎΡΠ° Π·Π°Π΄Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏ ΠΊΠ»ΡΡΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ Π½Π΅Π³ΠΎ Π½Π΅Ρ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠΏΠΈΠ΅ΠΉ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ° ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠΈΠΏ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊ ΡΠΈΠΏΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠΎ Π½ΠΎΠ²ΠΎΠΌΡ ΡΡΠ°Π½Π΄Π°ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΠΈΡΠΎΡΠ½Π°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²:
map<string, size_t> word_count; // ΠΏΡΡΡΠ°Ρ ΠΊΠ°ΡΡΠ°
// ΡΠΏΠΈΡΠΎΡΠ½Π°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
set<string> exclude = {"the", "but", "and", "or", "an", "a",
"The", "But", "And", "Or", "An", "A"};
// ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°; authors ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΌΠΈΠ»ΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ
map<string, string> authors = { {"Joyce", "James"},
{"Austen", "Jane"},
{"Dickens", "Charles"} };
ΠΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, ΡΠΈΠΏ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌΡΠΌ Π² ΡΠΈΠΏ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. Π’ΠΈΠΏΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π°Π±ΠΎΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΏ ΠΊΠ»ΡΡΠ°.
ΠΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ°ΡΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΈ ΠΊΠ»ΡΡ, ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΆΠ΄Π°Ρ ΠΏΠ°ΡΠ° ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ, {ΠΊΠ»ΡΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅}, ΠΎΠ·Π½Π°ΡΠ°Ρ, ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΡΠΌΠΈΡΡΡΡ Π΅Π΄ΠΈΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠ°ΡΡΡ. ΠΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΡΡ β ΡΡΠΎ ΠΊΠ»ΡΡ, Π²ΡΠΎΡΠΎΠΉ β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ°ΡΡΠ° authors ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΌΠΈΠ»ΠΈΠΈ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΡΡΠ΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² multimap ΠΈ multisetΠΠ»ΡΡΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ map ΠΈ set Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ; Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. Π£ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² multimap ΠΈ multiset ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π΅Ρ; Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΊΠ»ΡΡΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΡΠ»ΠΎΠ² ΠΊΠ°ΡΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π½Π΅ΠΊΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Ρ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ»ΠΎΠ²Π°.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΠΈ ΡΠ°ΠΊΠΎΠ²ΡΠΌΠΈ Ρ Π½Π΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ. Π‘Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΠΊΡΠΎΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» ivec Π½Π° 20 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: Π΄Π²Π΅ ΠΊΠΎΠΏΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» ΠΎΡ 0 Π΄ΠΎ 9 Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ. ΠΡΠΎΡ Π²Π΅ΠΊΡΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² set ΠΈ multiset:
// ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²Π΅ΠΊΡΠΎΡ ΠΈΠ· 20 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π΄Π²Π΅ ΠΊΠΎΠΏΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ
// ΡΠΈΡΠ»Π° ΠΎΡ 0 Π΄ΠΎ 9
vector<int> ivec;
for (vector<int>::size_type i = 0; i != 10; ++i) {
ivec.push_back(i);
ivec.push_back(i); // ΡΠ΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
}
// iset ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ivec;
// miset ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ 20 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
set<int> iset(ivec.cbegin(), ivec.cend());
multiset<int> miset(ivec.cbegin(), ivec.cend());
cout << ivec.size() << endl; // Π²ΡΠ²ΠΎΠ΄ΠΈΡ 20
cout << iset.size() << endl; // Π²ΡΠ²ΠΎΠ΄ΠΈΡ 10
cout << miset.size() << endl; // Π²ΡΠ²ΠΎΠ΄ΠΈΡ 20
Π₯ΠΎΡΡ Π½Π°Π±ΠΎΡ iset Π±ΡΠ» ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π²ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ivec, ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²Π΅ΠΊΡΠΎΡΠ° ivec. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ miset ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 20 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈ Π²Π΅ΠΊΡΠΎΡ ivec.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π° 11.2.1Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 11.5. ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ°ΡΡΠΎΠΉ ΠΈ Π½Π°Π±ΠΎΡΠΎΠΌ. ΠΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½, Π° ΠΊΠΎΠ³Π΄Π° Π΄ΡΡΠ³ΠΎΠΉ?
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 11.6. ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΈ ΡΠΏΠΈΡΠΊΠΎΠΌ. ΠΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½, Π° ΠΊΠΎΠ³Π΄Π° Π΄ΡΡΠ³ΠΎΠΉ?
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 11.7. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΊΠ°ΡΡΡ, ΠΊΠ»ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΠΈΠ»ΠΈΠ΅ΠΉ ΡΠ΅ΠΌΡΠΈ, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β Π²Π΅ΠΊΡΠΎΡΠΎΠΌ ΠΈΠΌΠ΅Π½ Π΄Π΅ΡΠ΅ΠΉ. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΊΠΎΠ΄, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΠΌΡΠΈ ΠΈ Π½ΠΎΠ²ΡΡ Π΄Π΅ΡΠ΅ΠΉ Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡΠΈ.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 11.8. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Ρ ΡΠ°Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ»ΠΎΠ²Π° Π² Π²Π΅ΠΊΡΠΎΡΠ΅, Π° Π½Π΅ Π² Π½Π°Π±ΠΎΡΠ΅. ΠΠ°ΠΊΠΎΠ²Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ°?
11.2.2. Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠΈΠΏΡ ΠΊΠ»ΡΡΠ°
ΠΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π½Π°Π»Π°Π³Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΡΠΈΠΏ ΠΊΠ»ΡΡΠ°. Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ»ΡΡΠ΅ΠΉ Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 11.4. Π£ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² (map, multimap, set ΠΈ multiset) ΡΠΈΠΏ ΠΊΠ»ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΏΠΎΡΠΎΠ± ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ < ΡΠΈΠΏΠ° ΠΊΠ»ΡΡΠ°. Π Π½Π°Π±ΠΎΡΠ°Ρ ΡΠΈΠΏ ΠΊΠ»ΡΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΈΠΏΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°; Π² ΠΊΠ°ΡΡΠ°Ρ ΡΠΈΠΏ ΠΊΠ»ΡΡΠ° β ΡΠΈΠΏ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ°ΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΈΠΏΠΎΠΌ ΠΊΠ»ΡΡΠ° ΠΊΠ°ΡΡΡ word_count (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 11.1) Π±ΡΠ΄Π΅Ρ string. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠΈΠΏΠΎΠΌ ΠΊΠ»ΡΡΠ° Π½Π°Π±ΠΎΡΠ° exclude ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ string.
ΠΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 10.3.1), Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΡΡΠΎ ΠΈ ΠΊΠ»ΡΡΠΈ Π² Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅.
Π’ΠΈΠΏΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠΌΡ, ΠΊΠ°ΠΊ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 10.3), ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° < ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΠ°Π΄Π°Π½Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΡΡΠΎΠ³ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ (strict weak ordering) Π΄Π»Ρ ΡΠΈΠΏΠ° ΠΊΠ»ΡΡΠ°. Π‘ΡΡΠΎΠ³ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ "ΠΌΠ΅Π½ΡΡΠ΅", Ρ ΠΎΡΡ Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠ³Π»Π° Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π½ΠΈΠΆΠ΅.
β’ ΠΠ²Π° ΠΊΠ»ΡΡΠ° Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ "ΠΌΠ΅Π½ΡΡΠ΅" Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°; Π΅ΡΠ»ΠΈ ΠΊΠ»ΡΡ k1 "ΠΌΠ΅Π½ΡΡΠ΅", ΡΠ΅ΠΌ k2, ΡΠΎ k2 Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ "ΠΌΠ΅Π½ΡΡΠ΅", ΡΠ΅ΠΌ k1.
β’ ΠΡΠ»ΠΈ ΠΊΠ»ΡΡ k1 "ΠΌΠ΅Π½ΡΡΠ΅", ΡΠ΅ΠΌ k2, ΠΈ ΠΊΠ»ΡΡ k2 "ΠΌΠ΅Π½ΡΡΠ΅", ΡΠ΅ΠΌ k3, ΡΠΎ ΠΊΠ»ΡΡ k1 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ "ΠΌΠ΅Π½ΡΡΠ΅", ΡΠ΅ΠΌ k3.
β’ ΠΡΠ»ΠΈ Π΅ΡΡΡ Π΄Π²Π° ΠΊΠ»ΡΡΠ° ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ Π½Π΅ "ΠΌΠ΅Π½ΡΡΠ΅" Π΄ΡΡΠ³ΠΎΠ³ΠΎ, ΡΠΎ ΡΡΠΈ ΠΊΠ»ΡΡΠΈ "ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ". ΠΡΠ»ΠΈ ΠΊΠ»ΡΡ k1 "ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½" ΠΊΠ»ΡΡΡ k2 ΠΈ ΠΊΠ»ΡΡ k2 "ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½" ΠΊΠ»ΡΡΡ k3, ΡΠΎ ΠΊΠ»ΡΡ k1 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ "ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½" ΠΊΠ»ΡΡΡ k3.
ΠΡΠ»ΠΈ Π΄Π²Π° ΠΊΠ»ΡΡΠ° ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ (Ρ.Π΅. Π΅ΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Π½Π΅ "ΠΌΠ΅Π½ΡΡΠ΅" Π΄ΡΡΠ³ΠΎΠ³ΠΎ), ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΈΡ ΠΊΠ°ΠΊ ΡΠ°Π²Π½ΡΠ΅. Π‘ ΡΡΠΈΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ Π² ΠΊΠ°ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΈ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΈΠΏ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ "ΠΎΠ±ΡΡΠ½ΡΠΉ" ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ <, Π±ΡΠ» ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΡΡΠ°.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΈΠΏΠ° ΠΊΠ»ΡΡΠ°Π’ΠΈΠΏ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²ΠΎΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΡΠΈΠΏΠ° ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. Π§ΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΈΠΏ ΡΡΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠΈΠΏΠ° Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. Π’ΠΈΠΏ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΏΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΠ³Π»ΠΎΠ²ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΏ Π² ΡΠ³Π»ΠΎΠ²ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ β ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏ. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ (ΡΠΈΠΏ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΡΠΈΠΏΠΎΠΌ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π² ΡΠ³Π»ΠΎΠ²ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ) ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ multiset ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ° Sales_data, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ»Π°ΡΡ Sales_data Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° <. ΠΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ compareIsbn() ΠΈΠ· ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠΉ ΡΠ°Π·Π΄Π΅Π»Π° 10.3.1. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΡΠΎΠ³ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ISBN Π΄Π²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ° Sales_data. Π€ΡΠ½ΠΊΡΠΈΡ compareIsbn() Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
bool compareIsbn(const Sales_data &lhs, const Sales_data &rhs) {
return lhs.isbn() < rhs.isbn();
}
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ multiset Ρ Π΄Π²ΡΠΌΡ ΡΠΈΠΏΠ°ΠΌΠΈ: ΡΠΈΠΏΠΎΠΌ ΠΊΠ»ΡΡΠ° Sales_data ΠΈ ΡΠΈΠΏΠΎΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΡΠ²Π»ΡΡΡΠΈΠΌΡΡ ΡΠΈΠΏΠΎΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 6.7), ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΌ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ compareIsbn(). ΠΠΎΠ³Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ compareIsbn():
// Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ISBN
// ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ bookstore ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Ρ ΠΏΠΎ ISBN
multiset<Sales_data, decltype(compareIsbn)*>
bookstore(compareIsbn);
ΠΠ΄Π΅ΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ decltype. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° decltype Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ» * Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 6.7). ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ bookstore ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ compareIsbn(). ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² bookstore ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ compareIsbn(). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ bookstore Π±ΡΠ΄ΡΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Ρ ΠΏΠΎ ΠΈΡ ΡΠ»Π΅Π½Ρ ISBN. ΠΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊ compareIsbn, Π²ΠΌΠ΅ΡΡΠΎ &compareIsbn, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 6.7). Π‘ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ &compareIsbn.