Π ΡΠ΅ΠΌ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅
Π’ΠΈΠΏΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ Π² ΡΡΡΡΠΊΡΡΡΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΡΠΎΡΡΠ°Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ, ΠΏΡΠΎΡΡΠ°Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΡΠΎ Π΅ΡΡΡ Π²ΡΡΠ°Π²ΠΊΠ° ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΡΡΠ°Π²ΠΊΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ (ΠΊΠΎΠ½ΡΠ΅) ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, Π° ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ (Π½Π°ΡΠ°Π»Π΅) ΡΠΏΠΈΡΠΊΠ° ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ.
ΠΡΠ΅ ΡΠ·Π»Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠ΅ΡΠ²ΡΠΉ ΡΠ·Π΅Π» Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ Π½Π° Π½Π΅Π³ΠΎ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ·Π΅Π» Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ Π½Π° Π½Π΅Π³ΠΎ.
ΠΡΡΠ³ΠΎΠ²Π°Ρ ΠΡΠ΅ΡΠ΅Π΄Ρ
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠΎΡΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ, Π² ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ·Π΅Π» ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ·Π»ΠΎΠΌ, Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ·Π»Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΡΠ·Π°Π½ Ρ Π°Π΄ΡΠ΅ΡΠΎΠΌ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ·Π»Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ·Π΅Π» ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ·Π΅Π» ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ, ΠΎΠ±ΡΠ°Π·ΡΡ ΠΎΠ±ΡΡΡ ΠΊΠΎΠ»ΡΡΠ΅Π²ΡΡ ΡΠ²ΡΠ·Ρ.
ΠΡΠ΅ΡΠ΅Π΄Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ²
ΠΡΠ΅ΡΠ΅Π΄Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² Π΄Π΅Π»Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°, Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π΄Π°Π½Π½ΡΡ .
Π₯ΠΎΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° (ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ Ρ Π½Π°ΠΈΠ²ΡΡΡΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ), Π²ΡΡΠ°Π²ΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
ΠΠ²ΡΡΡΠΎΡΠΎΠ½Π½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ (Dequeue)
ΠΠ²ΡΡΡΠΎΡΠΎΠ½Π½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Ρ ΠΎΠ±ΠΎΠΈΡ ΠΊΠΎΠ½ΡΠΎΠ² (ΠΏΠ΅ΡΠ΅Π΄Π½ΠΈΠΉ ΠΈ Π·Π°Π΄Π½ΠΈΠΉ) ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ.
ΠΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠ²Π»ΡΡΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΈ Π΄Π»Ρ ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΈΡ ΡΠΈΠΏΡ.
ΠΠ°ΠΊ ΠΈ Π·Π°ΡΠ΅ΠΌ Π΄Π΅Π»Π°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π° Π΄Π²ΡΡ ΡΡΠ΅ΠΊΠ°Ρ
ΠΠ°Π½Π½ΡΠΉ ΠΏΠΎΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² Π² ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π³ΠΎΡΠΎΠ²ΡΡΠΈΡ ΡΡ ΠΊ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ. Π ΠΊΠΎΠ½ΡΠ΅ Π±ΠΎΠ½ΡΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠΊΠ°. ΠΡΠ»ΠΈ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π», ΠΏΡΠΎΡΡ ΠΏΠΎΠ΄ ΠΊΠ°Ρ π
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Ρ:
Π‘ΡΠ΅ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏ LIFO (Π°Π½Π³Π». last in β first out, Β«ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΏΡΠΈΡΡΠ» β ΠΏΠ΅ΡΠ²ΡΠΌ Π²ΡΡΠ΅Π»Β»).
Π‘ΡΠ΅ΠΊ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
ΠΡΠ΅ΡΠ΅Π΄Ρ
ΠΡΠ΅ΡΠ΅Π΄Ρ β ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ Ρ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ FIFO (Π°Π½Π³Π». First In, First Out β Β«ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΡΠΈΡΡΠ» β ΠΏΠ΅ΡΠ²ΡΠΌ ΡΡΡΠ»Β»)
ΠΡΠ΅ΡΠ΅Π΄Ρ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅:
ΠΠ±ΡΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΄Π²Π° Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ:
ΠΠΎΡΠ΅ΠΌΡ ΡΡΠ΅ΠΊ ΠΊΡΡΡΠ΅, ΡΠ΅ΠΌ ΠΎΡΠ΅ΡΠ΅Π΄Ρ
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΠ΅Π±Π΅, ΡΡΠΎ Π½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ:
ΠΠ»Ρ ΡΡΠ΅ΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π»ΡΠ±ΡΡ ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ: Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π½Π° Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΠ½Π΅ ΠΏΠ°ΡΡ:
, Π³Π΄Π΅ Π²ΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ°ΡΡ β ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΡΠ΅ΠΊΠ°.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅ΠΊΠ° Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° Π½Π° Python:
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ ΡΠΎΡ ΠΆΠ΅ ΡΠΎΠΊΡΡ Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΡΡ? ΠΡΠ»ΠΈ ΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΡΡ, ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° ΠΌΠ°ΡΡΠΈΠ²Π΅, Π²ΡΡΠ΄ Π»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ (ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ). ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, Π΄Π°Π»Π΅Π΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π½Π° Π΄Π²ΡΡ ΡΡΠ΅ΠΊΠ°Ρ .
ΠΡΠ΅ΡΠ΅Π΄Ρ Π½Π° Π΄Π²ΡΡ ΡΡΠ΅ΠΊΠ°Ρ
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ β Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π·Π° Π°ΠΌΠΎΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ O(1).
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π΄Π²Π° ΡΡΠ΅ΠΊΠ°: s1 ΠΈ s2.
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ push Π±ΡΠ΄Π΅ΠΌ Π²ΡΠ΅Π³Π΄Π° Π΄Π΅Π»Π°ΡΡ Π² ΡΡΠ΅ΠΊ s1.
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ pop Π±ΡΠ΄Π΅Ρ ΡΡΡΡΠΎΠ΅Π½Π° ΡΠ°ΠΊ: Π΅ΡΠ»ΠΈ ΡΡΠ΅ΠΊ s2 ΠΏΡΡΡΠΎΠΉ, ΠΏΠ΅ΡΠ΅ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· s1 Π² s2 ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ pop ΠΈ push. Π’Π΅ΠΏΠ΅ΡΡ Π² ΡΡΠ΅ΠΊΠ΅ s2 Π»Π΅ΠΆΠ°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ (ΡΠ°ΠΌΡΠΉ Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ β ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π½Π°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ).
ΠΡΠ»ΠΈ s2 Π½Π΅ ΠΏΡΡΡ, ΡΡΠΏΠΎ Π΄ΠΎΡΡΠ°Π΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· Π½Π΅Π³ΠΎ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ s2 ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ½ΠΎΠ²Π° ΠΏΡΡΡΡΠΌ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌ ΡΡ ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ.
ΠΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ push: ΠΡ ΡΡΠΏΠΎ ΠΊΠ»Π°Π΄Π΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΡΠ΅ΠΊ s1. ΠΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ O(1).
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ pop: ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΡ ΠΈΠ· ΡΡΠ΅ΠΊΠ° Π² ΡΡΠ΅ΠΊ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π°ΠΌΠΎΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΡΠΎΡΡΠ°Π²ΠΈΡ O(1).
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ get_min: ΠΠ»Ρ ΡΡΠ΅ΠΊΠΎΠ² s1 ΠΈ s2 ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π±Π΅ΡΠ΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΈΠ· ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠΎΠ². ΠΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ O(1).
ΠΠΎΠ½ΡΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠΊΠ°
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π»ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°!
ΠΡΠ»ΠΈ Π²Π°Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π»Π° ΡΠ΅ΠΌΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΡΠΈΡΡΠ΅Π½ΡΠ½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π° Π΄Π²ΡΡ ΡΡΠ΅ΠΊΠ°Ρ Π·Π΄Π΅ΡΡ, Π»ΠΈΠ±ΠΎ Π΄ΠΎΠΆΠ΄Π°ΡΡΡΡ Π²ΡΡ ΠΎΠ΄Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΌΠΎΠ΅Π³ΠΎ ΡΠΎΠΏΠΈΠΊΠ°.
ΠΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½Π° Π΄Π²ΡΡ ΡΡΠ΅ΠΊΠ°Ρ Π²Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΡΠ΅ΡΠ°ΡΡ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΡΠ°Ρ .
ΠΡΠ΅ΡΠ΅Π΄ΠΈ β ΡΡΠΎ ΡΡΠΎ, Π·Π°ΡΠ΅ΠΌ ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ? ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ AWS SQS
Π‘Π½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄Π°Π΄ΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ Β«ΠΎΡΠ΅ΡΠ΅Π΄Ρ β queueΒ».
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π΄Π»Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΡΠΈΠΏ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Β«FIFOΒ»(first in, first out). ΠΡΠ»ΠΈ Π²Π·ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ β Β«ΡΡΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Ρ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½ΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΒ». ΠΡΠ»ΠΈ Π²ΠΊΡΠ°ΡΡΠ΅, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠΎ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ· Π½Π΅Π΅ Π΄ΠΎΡΡΠ°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π° ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π±ΠΈΡΠ°ΡΡ ΡΠΎ β ΡΡΠΎ ΠΏΡΠΈΡΠ»ΠΎ ΠΏΠ΅ΡΠ²ΡΠΌ.
ΠΠ°Π»Π΅Π΅, Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡΡ Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΠ½ΠΈ Π½ΡΠΆΠ½Ρ?
1. ΠΠ»Ρ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Π³ΡΡΠ·ΠΈΠ» Π½Π° ΡΠ°ΠΉΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΡΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΆΠ΄Π°ΡΡ Π½Π΅ Ρ ΠΎΡΠ΅Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ Π³ΡΡΠ·ΠΈΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ, Π΄Π°Π»Π΅Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΅Π΅ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ. Π ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ Β«workerΒ» Π΅Π΅ Π΄ΠΎΡΡΠ°Π½Π΅Ρ.
2. ΠΠ»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΈΠΊΠΎΠ²ΡΡ Π½Π°Π³ΡΡΠ·ΠΎΠΊ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΅ΡΡΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΡΠ°ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ±ΡΡΡΠΈΠ²Π°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΠ°ΡΠΈΠΊ ΠΈ ΠΎΠ½Π° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ°. ΠΠ°ΠΊ Π²Π°ΡΠΈΠ°Π½Ρ, Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΎΡΡΠ΅ΡΠΎΠ². ΠΡΠΊΠΈΠ΄ΡΠ²Π°Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΡΡ Π·Π°Π΄Π°ΡΡ β ΠΌΡ Π΄Π°Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠΎ Ρ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ.
3. ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ. Π Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅ ΡΠ°ΠΌΠ°Ρ Π²Π°ΠΆΠ½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π°, ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ
ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡΡΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ, ΡΡΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΡΠΎΠ»ΠΊΠ½Π΅ΠΌΡΡ, Π΅ΡΠ»ΠΈ Π±ΡΠ΄Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ°ΠΌΠΈ:
1. ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ. ΠΠ°Π±ΡΠ°ΡΡ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ. Π’ΠΎ Π΅ΡΡΡ Π΅ΡΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π²Π° ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΏΠΎΠΏΡΠΎΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ· Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅ΡΠ½ΡΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΠ½Π°ΡΠ΅, ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅ΡΡΡ Π΄Π²Π° ΡΠ°Π·Π°. Π§ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ΅Π²Π°ΡΠΎ.
2. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π΅Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ. Π ΡΠ΅ΡΠ²ΠΈΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°, Π·Π°ΡΠΈΡΠ°ΡΡΠ°Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ². ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ-ΠΆΠ΅ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ Π΄Π²Π° ΡΠ°Π·Π°. Π ΠΈΡΠΎΠ³Π΅ ΠΌΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎΠΆΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π΄Π²Π° ΡΠ°Π·Π°. Π§ΡΠΎ ΠΎΠΏΡΡΡ ΠΆΠ΅ ΡΡΠ΅Π²Π°ΡΠΎ.
3. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠΎΠΏΡΡΡΠΈΠΌ Π½Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ Π·Π°Π±ΡΠ°Π» ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠ²Π° ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π», ΠΎΡΠΏΡΠ°Π²ΠΈΠ² Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. Π ΡΡΠ΅ΡΡΠ΅ ΠΎΠ½ Π½Π΅ ΡΠΌΠΎΠ³ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΡΠΌΠ΅Ρ. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ°ΡΡΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ β Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². Π ΠΎΠ½ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Π²Π΅ΡΠ½ΠΎ ΠΎΡΡΠ°ΡΡΡΡ Π² ΡΡΠ°ΡΡΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. Π’Π°ΠΊΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅. ΠΠ°ΡΠΈΠ°Π½Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΊΠΎΡΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ AWS SQS(Simple Queue Service)
Amazon Web Services β Simple Queue Service
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ°Π΅Ρ ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ SQS ΠΈ ΡΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ
1. ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ. Π£ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«Visibility timeoutΒ». ΠΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π΄Π»ΠΈΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ½ ΡΠ°Π²Π΅Π½ 30 ΡΠ΅ΠΊΡΠ½Π΄Π°ΠΌ. ΠΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΠ²ΠΈΡ Π·Π°Π±ΠΈΡΠ°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΎΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ°ΡΡΡ Β«In FlightΒ» Π½Π° 30 ΡΠ΅ΠΊΡΠ½Π΄. ΠΡΠ»ΠΈ Π·Π° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π½Π΅ Π±ΡΠ»ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, ΠΎΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΡΠΌΠΎΠΆΠ΅Ρ Π΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΅ΡΠ΅ ΡΠ°Π·.
ΠΠ΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΡ Π΅ΠΌΠΊΠ° ΡΠ°Π±ΠΎΡΡ.
2. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ. Π SQS ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΠΎΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π΄Π»Ρ Β«ΠΌΠ΅ΡΡΠ²ΡΡ Β» ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ(Dead Letter Queue). Π’ΠΎ Π΅ΡΡΡ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΌΠΎΠ³ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ, Π±ΡΠ΄ΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ°ΡΡΡΡ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΊΠΎΠ»-Π²Π° Π½Π΅ΡΠ΄Π°ΡΠ½ΡΡ ΠΏΠΎΠΏΡΡΠΎΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅Ρ Π² Β«ΠΌΠ΅ΡΡΠ²ΡΡΒ» ΠΎΡΠ΅ΡΠ΅Π΄Ρ. ΠΠ΅ΡΠ΄Π°ΡΠ½ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠΎΠΉ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Β«Visibility timeoutΒ». Π’ΠΎ Π΅ΡΡΡ Π΅ΡΠ»ΠΈ Π·Π° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡΡΡ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌ ΠΈ Π²Π΅ΡΠ½Π΅ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅Ρ Π² Β«ΠΌΠ΅ΡΡΠ²ΡΡΒ».
3. ΠΠ΅Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. Π’Π°ΠΊ ΠΆΠ΅ SQS ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΡΠΈΡΡ ΠΎΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ². Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΅ΡΡΡ Β«Deduplication IdΒ», SQS Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ
ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΌ Β«Deduplication IdΒ» Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ 5 ΠΌΠΈΠ½ΡΡ. ΠΡ ΠΎΠ±ΡΠ·Π°Π½Ρ Π·Π°Π΄Π°Π²Π°ΡΡ Β«Deduplication IdΒ» Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ id Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠΎ Π² Β«Deduplication IdΒ» Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Ρ
ΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΡΡ
ΠΎΠ΄Ρ ΠΈΠ· Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«Content-Based DeduplicationΒ». ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ Π΄Π΅Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ
Notice: ΠΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ, Π΅ΡΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΄Π²Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ 5 ΠΌΠΈΠ½ΡΡ ΠΈ Ρ Π²Π°Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ Β«Content-Based DeduplicationΒ» SQS Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ Π²ΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ.
Notice: ΠΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Π΅ΡΠ»ΠΈ Π½Π° Π΄Π΅Π²Π°ΠΉΡΠ΅ ΠΎΡΠΏΠ°Π»Π° ΡΠ²ΡΠ·Ρ, ΠΈ ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΡΠ²Π΅Ρ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²ΠΈΠ» ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΡΠΏΡΡΡΡ 5 ΠΌΠΈΠ½ΡΡ, Π΄ΡΠ±Π»ΠΈΠΊΠ°Ρ ΡΠΎΠ·Π΄Π°ΡΡΡΡ.
4. Long poll. ΠΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠΏΡΠΎΡ. SQS ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΠ°ΠΉΠΌΠ°ΡΡΠΎΠΌ Π² 20 ΡΠ΅ΠΊΡΠ½Π΄. Π§ΡΠΎ Π½Π°ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ΅ ΠΈ Β«Π΄Π΅ΡΠ³Π°Π½ΡΠ΅Β» ΡΠ΅ΡΠ²ΠΈΡΠ°.
5. ΠΠ΅ΡΡΠΈΠΊΠΈ. Π’Π°ΠΊ ΠΆΠ΅ Amazon ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΡΠΌ. Π’Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠΎΠ»-Π²ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ /ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ /ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΡΠ°Π·ΠΌΠ΅ΡΡ Π² ΠΠ ΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡΠΎΡΠ΅Π΅. Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ SQS ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ Π»ΠΎΠ³ΠΎΠ² CloudWatch. Π’Π°ΠΌ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅. Π’Π°ΠΊ ΠΆΠ΅ ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ Β«ΡΠΈΠ³Π½Π°Π»Ρ ΡΡΠ΅Π²ΠΎΠ³ΠΈΒ»(Alarms) ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ Π»ΠΈΠ±ΠΎ ΡΠΎΠ±ΡΡΠΈΡΠΌ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ SQS. Π ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ CloudWatch
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ:
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅:
Message Retention Period β ΠΊΠΎΠ»-Π²ΠΎ ΡΠ΅ΠΊΡΠ½Π΄/ΠΌΠΈΠ½ΡΡ/ΡΠ°ΡΠΎΠ²/Π΄Π½Π΅ΠΉ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±ΡΠ΄ΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ β 14 Π΄Π½Π΅ΠΉ.
Maximum Message Size β ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² KB. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ 1KB Π΄ΠΎ 256KB.
Receive Message Wait Time β Π²ΡΠ΅ΠΌΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΡΠ΄Π΅Ρ Π΄Π΅ΡΠΆΠ°ΡΡΡΡ ΠΊΠΎΠ½Π½Π΅ΠΊΡ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Β«Long pollΒ», Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
Content-Based Deduplication β ΡΠ»Π°Π³, Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² true, ΡΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Β«Deduplication IdΒ» Π² Π²ΠΈΠ΄Π΅ SHA-256 Ρ ΡΡΠ°, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Β«ΠΌΠ΅ΡΡΠ²ΠΎΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈΒ»
Use Redrive Policy β ΡΠ»Π°Π³, Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΠΏΡΡΠΎΠΊ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡΡΡ.
Dead Letter Queue β ΠΈΠΌΡ Β«ΠΌΠ΅ΡΡΠ²ΠΎΠΉΒ» ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄ΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
Maximum Receives β ΠΊΠΎΠ»-Π²ΠΎ Π½Π΅ΡΠ΄Π°ΡΠ½ΡΡ ΠΏΠΎΠΏΡΡΠΎΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² Β«ΠΌΠ΅ΡΡΠ²ΡΡΒ» ΠΎΡΠ΅ΡΠ΅Π΄Ρ
Notice: Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΉ Visibility Timeout ΠΈΠ»ΠΈ Delivery Delay
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎ ΡΠ°ΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡΡ Π°ΡΡΠΈΠ±ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
ΠΡΡΠΈΠ±ΡΡΡ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ, ΡΠΈΠΏΠ° ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Notice: ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»-Π²ΠΎ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² 10 ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ : ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈ ΡΡΠ΅ΠΊ
ΠΡΠ΅ΡΠ΅Π΄ΠΈ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π³Π΄Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ β ΡΡΠΎ ΠΏΠΎΠ»Π΅ Π»ΡΠ±ΠΎΠ³ΠΎ, ΡΠ°Π½Π΅Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ, ΡΠΈΠΏΠ°;
1 ΡΠΏΠΎΡΠΎΠ±: Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌΡΡ ΡΡΡΡΠΊΡΡΡΡ.
2 ΡΠΏΠΎΡΠΎΠ±: Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΠ°Π½Π΅Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠΌ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°:
ΠΡΠΈΠΌΠ΅Ρ 2. ΠΠ°Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½Π΅Π½ΡΠ»Π΅Π²ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». ΠΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΠ»ΠΎ 0. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π΅Ρ, ΡΠΎ Π²ΡΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΡΡΠΎΠΌ.
Π Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΡΡ, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ°Π½Π΅Π΅. ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π³Π»Π°Π²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Ρ
LIFO (Last Input β First Output) β ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΡΠ΅ΠΊΠ° ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ «ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΏΡΠΈΡΠ΅Π» β ΠΏΠ΅ΡΠ²ΡΠΌ Π²ΡΡΠ΅Π»»
ΠΠ΅ΡΡΠΈΠ½Π° ΡΡΠ΅ΠΊΠ° β ΡΡΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠ΅ΠΊΠ°.
ΠΠΎΠ½Π΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ β ΡΡΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
ΠΠ°ΡΠ°Π»ΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ β ΡΡΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ : ΡΡΠ΅ΠΊΠΈ ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
ΠΠ²ΡΠΎΡΠΈΠ·ΡΠΉΡΠ΅ΡΡ
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ : ΡΡΠ΅ΠΊΠΈ ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΠ°ΡΡΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅, ΠΏΠΎ ΡΡΡΠΈ, ΡΠ²Π»ΡΠ»ΠΈΡΡ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌ ΠΏΡΠΎΡΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ.
Π‘ΡΠ΅ΠΊ β ΡΡΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Β«ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΠΎΡΠ΅Π», ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΡΡΠ΅Π»Β» (Last-In-First-Out ΠΈΠ»ΠΈ LIFO). ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΠ°ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° β ΡΡΠΎΠΏΠΊΠ° ΡΠ°ΡΠ΅Π»ΠΎΠΊ. ΠΠ½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΠ΅Π»ΠΎΠΊ Π² ΡΡΠΎΠΏΠΊΠ΅, ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ½ΡΡΡ Π²Π΅ΡΡ Π½ΡΡ. Π§ΠΈΡΡΡΠ΅ ΡΠ°ΡΠ΅Π»ΠΊΠΈ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ»Π°Π΄ΡΡΡΡ Π½Π° Π²Π΅ΡΡ ΡΡΠΎΠΏΠΊΠΈ, ΠΈ ΠΌΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π±ΡΠ°ΡΡ ΡΡ ΡΠ°ΡΠ΅Π»ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ.
ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΡΠ°ΡΠ½ΡΡ ΡΠ°ΡΠ΅Π»ΠΊΡ, Π·Π°ΡΠ΅ΠΌ ΡΠΈΠ½ΡΡ, Π° Π·Π°ΡΠ΅ΠΌ Π·Π΅Π»Π΅Π½ΡΡ, ΡΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ½ΡΡΡ Π·Π΅Π»Π΅Π½ΡΡ, ΠΏΠΎΡΠΎΠΌ ΡΠΈΠ½ΡΡ, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΊΡΠ°ΡΠ½ΡΡ. ΠΠ»Π°Π²Π½ΠΎΠ΅, ΡΡΠΎ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ β ΡΠ°ΡΠ΅Π»ΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΡΠ°Π²ΡΡΡΡ ΠΈ Π½Π° Π²Π΅ΡΡ ΡΡΠΎΠΏΠΊΠΈ. ΠΠΎΠ³Π΄Π° ΠΊΡΠΎ-ΡΠΎ Π±Π΅ΡΠ΅Ρ ΡΠ°ΡΠ΅Π»ΠΊΡ, ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΡΠ½ΠΈΠΌΠ°Π΅Ρ Π΅Π΅ ΡΠ²Π΅ΡΡ Ρ. ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ°ΡΠ΅Π»ΠΊΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΡΠΎΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠ°Π²ΠΈΠ»ΠΈΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠ΅ΠΊ, Π²Π²Π΅Π΄Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ². ΠΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π° ΡΡΠ΅ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«pushΒ», ΡΠ΄Π°Π»Π΅Π½ΠΈΡ β Β«popΒ». ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²Π΅ΡΡ ΡΡΠΊΠΎΠΉ ΡΡΠ΅ΠΊΠ°, ΠΈΠ»ΠΈ Β«topΒ», ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Β«peekΒ». ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π·Π°Π³ΠΎΡΠΎΠ²ΠΊΡ ΠΊΠ»Π°ΡΡΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π³ΠΎ ΡΡΠ΅ΠΊ.
ΠΠ»Π°ΡΡ Stack
ΠΠ΅ΡΠΎΠ΄ Push
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ²ΡΠ·Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°.
ΠΠ΅ΡΠΎΠ΄ Pop
Push Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π·Π°Π±ΠΈΡΠ°ΡΡ ΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ Ρ ΠΊΠΎΠ½ΡΠ°. Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΡΡ, Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
ΠΠ΅ΡΠΎΠ΄ Peek
ΠΠ΅ΡΠΎΠ΄ Count
ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΌ Π·Π½Π°ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ΅ΠΊΠ΅, Π΅ΡΠ»ΠΈ ΠΌΡ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅ΠΌ ΠΊ Π½ΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ°? Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π΅ΡΡΡ Π»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΡΡΠ΅ΠΊΠ΅ ΠΈΠ»ΠΈ ΠΎΠ½ ΠΏΡΡΡ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΡΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ Pop ΠΊΠΈΠ΄Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΈΠΌΠ΅Ρ: ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠΎΠ»ΡΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° β ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠΎΠ»ΡΡΠΊΠΎΠΉ, ΠΈΠ»ΠΈ ΠΏΠΎΡΡΡΠΈΠΊΡΠ½ΠΎΠΉ, Π·Π°ΠΏΠΈΡΠΈ. Π Π½Π΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ²ΠΎΠΈΡ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ². Π’ΠΎ Π΅ΡΡΡ, ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ:
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π²ΠΌΠ΅ΡΡΠΎ Β«4 + 2Β» ΠΌΡ Π·Π°ΠΏΠΈΡΠ΅ΠΌ Β«4 2 +Β». ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠΎΠ»ΡΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΈ Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ ΠΎΠ± ΡΡΠΎΠΌ Π½Π° ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ ΠΈΠ»ΠΈ Π² ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΈΠΊΠ΅.
Π’ΠΎ, ΠΊΠ°ΠΊ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΠΏΠΎΠ»ΡΡΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠ΅ΠΊ ΡΠ°ΠΊ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡΠΈ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ ΠΎΡΠΎΡΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°:
Π’ΠΎ Π΅ΡΡΡ, Π΄Π»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Β«4 2 +Β» Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±ΡΠ΄ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
Π ΠΊΠΎΠ½ΡΠ΅ Π½Π° ΡΡΠ΅ΠΊΠ΅ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β 6.
ΠΡΠ΅ΡΠ΅Π΄Ρ
ΠΡΠ΅ΡΠ΅Π΄ΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° ΡΡΠ΅ΠΊΠΈ. ΠΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ Π΄Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π½ΠΎ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ΅ΠΊΠ°, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠ»Π°Π΄ΡΡΡΡ (enqueue) ΠΈ Π·Π°Π±ΠΈΡΠ°ΡΡΡΡ (dequeue) Ρ ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠ½ΡΠΎΠ². Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΠΎΡΠ΅Π», ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΡΡΠ΅Π»Β» (First-In-First-Out ΠΈΠ»ΠΈ FIFO). Π’ΠΎ Π΅ΡΡΡ Π·Π°Π±ΠΈΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΡΡΠΎ ΠΈ ΠΊΠ»Π°Π»ΠΈ. ΠΠ°ΠΊ ΡΠ΅Π°Π»ΡΠ½Π°Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ.
ΠΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΡΡΠ΅ΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ, ΠΊΠ°ΠΊ Π½ΠΈ ΡΡΡΠ°Π½Π½ΠΎ, ΠΆΠ΄Π°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π½Π° Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΠ.
ΠΠ»Π°ΡΡ Queue
ΠΠ΅ΡΠΎΠ΄ Enqueue
ΠΠΎΠ²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠ°ΠΊ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠΏΠΈΡΠΊΠ°, ΡΠ°ΠΊ ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ. ΠΠ°ΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎΠ±Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΠΎΡΡΠ°Π²Π°Π»ΠΈΡΡ Ρ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΊΡΠ°Ρ. Π Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ°.
ΠΠ΅ΡΠΎΠ΄ Dequeue
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠΏΠΈΡΠΊΠ°, ΡΠ±ΠΈΡΠ°ΡΡ ΠΌΡ ΠΈΡ Π±ΡΠ΄Π΅ΠΌ Ρ ΠΊΠΎΠ½ΡΠ°. ΠΡΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΡΡ, ΠΊΠΈΠ΄Π°Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
ΠΠ΅ΡΠΎΠ΄ Peek
ΠΠ΅ΡΠΎΠ΄ Count
ΠΠ²ΡΡΡΠΎΡΠΎΠ½Π½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ
ΠΠ²ΡΡΡΠΎΡΠΎΠ½Π½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ (Double-ended queue), ΠΈΠ»ΠΈ Π΄Π΅ΠΊ (Deque), ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. Π Π΄Π΅ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠ°ΠΊ Ρ Π½Π°ΡΠ°Π»Π°, ΡΠ°ΠΊ ΠΈ Ρ ΠΊΠΎΠ½ΡΠ° ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π·Π°Π΄Π°ΡΠ°Ρ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ·ΠΆΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅ΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½Π΅ΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ.
ΠΠ»Π°ΡΡ Deque
ΠΠ΅ΡΠΎΠ΄ EnqueueFirst
ΠΠ΅ΡΠΎΠ΄ EnqueueLast
ΠΠ΅ΡΠΎΠ΄ DequeueFirst
ΠΠ΅ΡΠΎΠ΄ DequeueLast
ΠΠ΅ΡΠΎΠ΄ PeekFirst
ΠΠ΅ΡΠΎΠ΄ PeekLast
ΠΠ΅ΡΠΎΠ΄ Count
ΠΡΠΈΠΌΠ΅Ρ: ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅ΠΊΠ°
ΠΠ²ΡΡΡΠΎΡΠΎΠ½Π½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅ΠΊΠ° Ρ Π΅Π΅ ΠΏΠΎΠΌΠΎΡΡΡ.
Π£ Π²Π°Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²ΠΎΠ·Π½ΠΈΠΊ Π²ΠΎΠΏΡΠΎΡ, Π·Π°ΡΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΡΠ΅ΠΊ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°. ΠΡΠΈΡΠΈΠ½Ρ Π΄Π²Π΅: ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. Π£ ΡΠ²ΡΠ·Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π΅ΡΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ·Π»ΠΎΠ² ΠΈ Π½Π΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ : ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠΌΠ°Ρ ΠΎΠ² ΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ². ΠΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½Π΅ΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅ΠΊΠ° ΠΈΠ»ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° β Π½Π΅ΠΏΡΠΎΡΡΠ°Ρ Π·Π°Π΄Π°ΡΠ°, Π½ΠΎ ΡΠ°ΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½Π΅ΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π°ΡΡ Π½Π°ΠΌ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠΉ ΠΏΠ»ΡΡ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄. ΠΡΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ.
ΠΠΎΠ·ΠΆΠ΅ ΠΌΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°, Π½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ Π²Π·Π³Π»ΡΠ½Π΅ΠΌ Π½Π° ΠΊΠ»Π°ΡΡ ΡΡΠ΅ΠΊΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½Π΅ΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ:
Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
ΠΠ°ΠΊ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎ, Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°. ΠΠ½Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΎΡΡΠΎΠΉ, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π΅ΡΡΡ ΡΡΠ΄ Π½ΡΠ°Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π΄ΠΎ ΡΡΠ΅ΡΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ, ΠΈ Π½Π° ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ· ΠΏΡΠΎΡΠ»ΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ .
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Ρ Π½Π΅Π΅ Π²Π½ΡΡΡΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² Π½ΡΠ»Π΅Π²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ. ΠΡΠ°ΡΠ½ΡΠ΅ Π±ΡΠΊΠ²Ρ Β«hΒ» ΠΈ Β«tΒ» ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ _head ΠΈ _tail ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π½Π°ΡΠ°Π»ΠΎ
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠ½Π΅Ρ
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π½Π°ΡΠ°Π»ΠΎ
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΈΠ½Π΄Π΅ΠΊΡ Β«Π³ΠΎΠ»ΠΎΠ²ΡΒ» ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΊΠΎΡΠΈΠ» Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠΏΠΈΡΠΊΠ°. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° DequeueFirst β 0 (ΠΈΠ½Π΄Π΅ΠΊΡ 3).
Π Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π² ΠΊΠΎΠ½Π΅Ρ
ΠΠ°ΡΡΠΈΠ² Π·Π°ΠΏΠΎΠ»Π½Π΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°:
Π£Π΄Π°Π»ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· Π½Π°ΡΠ°Π»Π°
Π£Π΄Π°Π»ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΊΠΎΠ½ΡΠ°
ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ: Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΡΡΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ β ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΡ Β«Π³ΠΎΠ»ΠΎΠ²ΡΒ» Π΄ΠΎ Β«Ρ Π²ΠΎΡΡΠ°Β» Ρ ΡΡΠ΅ΡΠΎΠΌ Β«Π·Π°ΠΊΠΎΠ»ΡΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈΒ». Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΠΊΠΎΠ»ΡΡΠ΅Π²ΡΠΌ Π±ΡΡΠ΅ΡΠΎΠΌΒ».
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ.
ΠΠ»Π°ΡΡ Deque (Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°)
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ²ΡΠ·Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ. ΠΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π΅Π³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΏΠΈΡΠΎΠΊ Π±ΡΠ» Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° ΠΌΠ°ΡΡΠΈΠ², Ρ Π½Π°Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ β ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ², Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° Β«Ρ Π²ΠΎΡΡΒ» ΠΈ Β«Π³ΠΎΠ»ΠΎΠ²ΡΒ» ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡΠ°
ΠΠΎΠ³Π΄Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ, ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° Β«Ρ Π²ΠΎΡΡΒ» ΠΈ Β«Π³ΠΎΠ»ΠΎΠ²ΡΒ». ΠΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ startingIndex ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅ΠΉ Π² Π½Π°ΡΠ°Π»Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΡΡΡΠΌΠΈ (Π² ΡΠ»ΡΡΠ°Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² Π½Π°ΡΠ°Π»ΠΎ).
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΈ ΠΏΡΠΎΡ ΠΎΠ΄Π΅ ΠΎΡ Β«Π³ΠΎΠ»ΠΎΠ²ΡΒ» ΠΊ Β«Ρ Π²ΠΎΡΡΡΒ».
ΠΠ΅ΡΠΎΠ΄ EnqueueFirst
ΠΠ΅ΡΠΎΠ΄ EnqueueLast
ΠΠ΅ΡΠΎΠ΄ DequeueFirst
ΠΠ΅ΡΠΎΠ΄ DequeueLast
ΠΠ΅ΡΠΎΠ΄ PeekFirst
ΠΠ΅ΡΠΎΠ΄ PeekLast
ΠΠ΅ΡΠΎΠ΄ Count
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ
ΠΠΎΡ ΠΌΡ ΠΈ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡΡΡ ΡΠ°ΡΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π° ΡΡΠ°ΡΠ΅ΠΉ. Π Π½Π΅ΠΉ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΡΠ΅ΠΊΠΈ ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π· ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π±ΠΈΠ½Π°ΡΠ½ΡΠΌ Π΄Π΅ΡΠ΅Π²ΡΡΠΌ ΠΏΠΎΠΈΡΠΊΠ°.