Π‘ΠΎΠ²Π΅Ρ 44. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² STL. Π’Π°ΠΊ, Π² Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ count, find, lower_bound, upper_bound ΠΈ equal_range, Π° Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ list ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ remove, remove_if, unique, sort, merge ΠΈ reverse. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΡΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ Π΄Π²ΡΠΌΡ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌΠΈ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² Π±ΡΡΡΡΠ΅Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΎΠ½ΠΈ Π»ΡΡΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Ρ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ), ΡΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.
ΠΠ°ΡΠ½Π΅ΠΌ Ρ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ set<int>, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π° 727, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π΄Π²Π° ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠΈΡΠΊΠ°:
set<int> s; // Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ
β¦ // ΠΈ Π·Π°Π½Π΅ΡΡΠΈ Π² Π½Π΅Π³ΠΎ
// ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ ΡΠΈΡΠ΅Π»
set<int>::iterator i = s.find(727); // Π€ΡΠ½ΠΊΡΠΈΡ find ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
if (i != s.end()) β¦
set<int>::iterator i = find(s.begin(), s.end(), 727); // ΠΠ»Π³ΠΎΡΠΈΡΠΌ find
if (i != s.end()) β¦
Π€ΡΠ½ΠΊΡΠΈΡ ΠΊΠ»Π°ΡΡΠ° find ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΡΠΈΡΠ»ΠΎ 727 Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΠΈΠ»ΠΈ Π½Π΅Ρ, set::find Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΠΈΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 40 ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ, Π° ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 20. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π°Π»Π³ΠΎΡΠΈΡΠΌ find ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΠΈΡΠ»Π° 727 Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ 1 000 000 ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ. ΠΠΏΡΠΎΡΠ΅ΠΌ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ 727 ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ, Π°Π»Π³ΠΎΡΠΈΡΠΌ find Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΠΈΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ 500 000 ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ²Π½ΠΎ Π½Π΅ Π² ΠΏΠΎΠ»ΡΠ·Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° find.
ΠΡΡΠ°ΡΠΈ, Ρ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°Π» ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ find, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΡΠ°ΡΠ½ΠΎ-ΡΠ΅ΡΠ½ΡΠ΅ Π΄Π΅ΡΠ΅Π²ΡΡ β ΠΎΡΠΎΠ±Π°Ρ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΡΠ±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π² Ρ ΡΠ°Π·Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ ΡΡΠ΅ΠΏΠ΅Π½ΡΠΌ 2. Π ΡΠ°ΠΊΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠ΅Π΄ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠ°Π²Π½ΠΎ 38, Π½ΠΎ Π² ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 22 ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΡΠ±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π΅ΡΠ΅Π²ΡΡΡ , Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ 21 ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΠΎ ΠΎΠ±ΡΠ΅ΠΌΡ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΡΠ±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π΅ΡΠ΅Π²ΡΡ ΡΡΡΡΠΏΠ°ΡΡ Β«ΠΊΡΠ°ΡΠ½ΠΎ-ΡΠ΅ΡΠ½ΡΠΌΒ». ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ STL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Β«ΠΊΡΠ°ΡΠ½ΠΎ-ΡΠ΅ΡΠ½ΡΠ΅Β» Π΄Π΅ΡΠ΅Π²ΡΡ.
Π Π°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΊΠ»Π°ΡΡΠ° ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ find Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ. ΠΠ°ΠΊ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ Π² ΡΠΎΠ²Π΅ΡΠ΅ 19, Π°Π»Π³ΠΎΡΠΈΡΠΌΡ STL ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Β«ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΡΡΡΒ» Π΄Π²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡ ΡΠ°Π²Π΅Π½ΡΡΠ²Π°, Π° Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π°Π»Π³ΠΎΡΠΈΡΠΌ find ΠΈΡΠ΅Ρ 727 ΠΏΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡ ΡΠ°Π²Π΅Π½ΡΡΠ²Π°, Π° ΡΡΠ½ΠΊΡΠΈΡ find β ΠΏΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΠΈ. Π Π°Π·Π»ΠΈΡΠΈΡ Π² ΠΊΡΠΈΡΠ΅ΡΠΈΡΡ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠΎΠ²Π΅ΡΠ΅ 19 Π±ΡΠ»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° find Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π½Π΅ΡΠ΄Π°ΡΠ΅ΠΉ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ find ΠΏΡΠΈΠ²Π΅Π» Π±Ρ ΠΊ ΡΡΠΏΠ΅Ρ Ρ! ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡ find, count ΠΈ Ρ. Π΄. ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈΡ , ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π»ΡΡΡΠ΅ ΡΠΎΠ³Π»Π°ΡΡΠ΅ΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎΠΌ ΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π½Π΅ ΡΡΠΎΠ»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½Ρ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΡΠΊΠΎ ΡΡΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ map ΠΈ multimap, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ pair, Π½ΠΎ ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΡΡ. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΡΠ½ΠΊΡΠΈΡ count ΡΡΠΈΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΡ Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ (Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Β«ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅Β» ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΠΈ); Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ ΠΊΠ»ΡΡΠΎΠΌ, ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ. Π€ΡΠ½ΠΊΡΠΈΠΈ find, lower_bound ΠΈ Ρ. Π΄. ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ. Π§ΡΠΎΠ±Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π»ΠΈΡΡ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΊΠ»ΡΡΠ° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΡΠ΅, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π°ΠΊΡΠΎΠ±Π°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠΊΠΈ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² ΡΠΎΠ²Π΅ΡΠ΅ 23 (ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΠΈ).
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΡΠ΅ΠΌΠΈΡΠ΅ΡΡ ΠΊ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, ΡΠΎ ΡΠΎΠΊΡΡΡ ΡΠΎΠ²Π΅ΡΠ° 23 Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΠΎΠΈΡΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΈΠ· ΡΠΎΠ²Π΅ΡΠ° 34 ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ ΡΠ°ΠΊΠΎΠΉ ΡΠΆ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠ΅Π½ΠΎΠΉ Π·Π° ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΡΠ΅Π½Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΌΠΈΡΠ΅ΡΡ ΠΊ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Ρ ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² (ΡΠΌ. ΡΠΎΠ²Π΅Ρ 25), Ρ ΠΎΡΡ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎΠΌ ΠΈ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΡΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ. ΠΠΎ-Π²ΡΠΎΡΡΡ , Β«ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΡΡΡΒ» Π΄Π²ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΏΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΠΈ, Π±ΠΎΠ»Π΅Π΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌΡ Π΄Π»Ρ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². Π-ΡΡΠ΅ΡΡΠΈΡ , ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ map ΠΈ multimap Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ»Π½ΡΡ ΠΏΠ°Ρ (ΠΊΠ»ΡΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅). ΠΡΠΈ ΡΡΠΈ ΡΠ°ΠΊΡΠΎΡΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡΡ Π² ΠΏΠΎΠ»ΡΠ·Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° list, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² STL. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠ°ΠΊΡΠΎΡΠΎΠΌ. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ, Ρ ΠΊΠΎΡΠΎΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ list ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ (remove, remove_if, unique, sort, merge ΠΈ reverse), ΠΊΠΎΠΏΠΈΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, a list-Π²Π΅ΡΡΠΈΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΊΠΎΠΏΠΈΡΡΡΡ; ΠΎΠ½ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΠΈΠΌΠΈ ΡΠ·Π»Ρ ΡΠΏΠΈΡΠΊΠ°. ΠΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΎΠ±Ρ ΠΎΠ΄ΡΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π΅ΡΠ΅Π²Π»Π΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², list-Π²Π΅ΡΡΠΈΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π»ΡΡΡΠΈΠΌ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ list-Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΡΡΠΎ Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΠΈΠ½Π°ΡΠ΅, ΡΠ΅ΠΌ ΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΈ-Π°Π»Π³ΠΎΡΠΈΡΠΌΡ. ΠΠ°ΠΊ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ Π² ΡΠΎΠ²Π΅ΡΠ΅ 32, Π΄Π»Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π²ΡΠ·ΠΎΠ²Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² remove, remove_if ΠΈ unique Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ erase, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° list ΡΠ΅ΡΡΠ½ΠΎ ΡΠ½ΠΈΡΡΠΎΠΆΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ erase Π½Π΅ Π½ΡΠΆΠ½Ρ.
ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ sort ΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ sort ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° list Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π½Π΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌ list, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΅ΠΌΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ list. ΠΠ»Π³ΠΎΡΠΈΡΠΌ merge ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ merge ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° list β Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Ρ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ list::merge Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΡΠΏΠΈΡΠΊΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΠ΅ Π²ΡΠ΅ΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ. Π‘ΡΠΎΠ»ΠΊΠ½ΡΠ²ΡΠΈΡΡ Ρ Π²ΡΠ±ΠΎΡΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ STL ΠΈ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠ΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠ½Π° ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π»ΡΡΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ².
Π‘ΠΎΠ²Π΅Ρ 45. Π Π°Π·Π»ΠΈΡΠ°ΠΉΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ count, find, binary_search, lower_bound, upper_bound ΠΈ equal_range
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ ΠΈΡΠ΅ΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ ΠΈΠ»ΠΈ Π² ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π΅, Π³ΡΠ°Π½ΠΈΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Ρ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ. ΠΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ? Π Π²Π°ΡΠ΅ΠΌ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΠ΅Π»ΡΠΉ Π°ΡΡΠ΅Π½Π°Π» Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²: count, find, binary_search, lower_bound, upper_bound ΠΈ equal_range. ΠΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΡΡ Π²Π΅ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅?
ΠΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈ ΠΏΡΠΎΡΡΠΎΡΠ°.
ΠΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π³ΡΠ°Π½ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Ρ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ. Π‘Π»ΡΡΠ°ΠΉ Ρ ΠΏΠΎΠΈΡΠΊΠΎΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ Π½ΠΈΠΆΠ΅.
ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π»ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π». ΠΡΠ»ΠΈ ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ binary_search, lower_bound, upper_bound ΠΈ equal_range Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° (ΠΎΠ±ΡΡΠ½ΠΎ Ρ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ β ΡΠΌ. ΡΠΎΠ²Π΅Ρ 34). ΠΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π½Π΅ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½, Π²ΡΠ±ΠΎΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ count, count_if, find ΠΈ find_if. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ _if-Π²Π΅ΡΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² count ΠΈ find ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ, ΠΊΠ°ΠΊ ΠΈ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ binary_search, lower_bound, upper_bound ΠΈ equal_range, ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°Ρ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠΈΡΠΊΠ° Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°Ρ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ.
ΠΡΠ°ΠΊ, Π² Π½Π΅ΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π°Ρ Π²ΡΠ±ΠΎΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ count ΠΈ find. ΠΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠ΅ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ Π·Π°Π΄Π°ΡΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΡΠΌΠΎΡΡΠ΅ΡΡΡΡ ΠΏΠΎΠ²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Π΅Π΅. ΠΠ»Π³ΠΎΡΠΈΡΠΌ count ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ: Β«ΠΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π»ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈ Π΅ΡΠ»ΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ β ΡΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ²?Β». ΠΠ»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° find Π²ΠΎΠΏΡΠΎΡ Π·Π²ΡΡΠΈΡ ΡΠ°ΠΊ: Β«ΠΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π»ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈ Π΅ΡΠ»ΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ β ΡΠΎ Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ?Β»