Π Π°Π±ΠΎΡ‚Π° с Π³Ρ€ΡƒΠΏΠΏΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ любого ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ³ΠΎ программирования Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ постоянно приходится ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ список ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ строкам Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ список Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ². Для этих Ρ†Π΅Π»Π΅ΠΉ систСма прСдоставляСт ΠΌΠΎΡ‰Π½Ρ‹Π΅ инструмСнты ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ массивов ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ПониманиС нюансов ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ чистый, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ основныС конструкции языка 1Π‘, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ элСмСнтам Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΡ‹ рассмотрим классичСский Ρ†ΠΈΠΊΠ» с счСтчиком ΠΈ Π±ΠΎΠ»Π΅Π΅ соврСмСнный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ «для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎΒ», выявим ΠΈΡ… ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ слабыС стороны, Π° Ρ‚Π°ΠΊΠΆΠ΅ обсудим Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с индСксами.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π² процСссС ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (встроСнныС) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот процСсс. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ сущСствСнно ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя выполнСния Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ интСрфСйса Π½Π° дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Π² 1Π‘

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Ρƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, с ΠΊΠ°ΠΊΠΎΠΉ структурой Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Π’ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘ сущСствуСт нСсколько Π²ΠΈΠ΄ΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ, ΠΈ Π²Ρ‹Π±ΠΎΡ€ синтаксиса Ρ†ΠΈΠΊΠ»Π° часто зависит ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. НаиболСС распространСнным являСтся Массив, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой упорядочСнный список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, индСксируСмый числами, начиная с нуля.

Помимо классичСских массивов, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ спСциализированныС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ БписокЗначСний, Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°. КаТдая ΠΈΠ· Π½ΠΈΡ… ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности хранСния Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ строк ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

Для Π½ΠΈΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ с использованиСм счСтчика ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ часто становится использованиС ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ способа хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ создании массива Ρ‡Π΅Ρ€Π΅Π· конструктор Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ элСмСнты динамичСски. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ индСксу массива Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ «ИндСкс Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°Β».

Различия Π² Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π Π°Π±ΠΎΡ‚Π° с Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ массивами (Π³Π΄Π΅ всС элСмСнты ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°) ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ происходит быстрСС, Ρ‡Π΅ΠΌ с Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ структурами. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ доступ ΠΊ памяти, Ссли Π·Π½Π°Π΅Ρ‚ Π·Π°Ρ€Π°Π½Π΅Π΅, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… оТидаСтся Π² ячСйкС.

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Ρ†ΠΈΠΊΠ» «Для» с использованиСм индСкса

Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ способ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов основан Π½Π° использовании счСтчика. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Π°Π΅Ρ‚ программисту ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ процСссом ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ шаги, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ шаг приращСния ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ…ΠΎΠ΄Π° (с ΠΊΠΎΠ½Ρ†Π° Π² Π½Π°Ρ‡Π°Π»ΠΎ).

Бинтаксис ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Для Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ указания Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ значСния счСтчика. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ индСксация Π² 1Π‘ начинаСтся с нуля, Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ начинаСтся с 0 ΠΈ заканчиваСтся Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ, Ρ€Π°Π²Π½ΠΎΠΌ количСству элСмСнтов минус ΠΎΠ΄ΠΈΠ½. Для получСния количСства элСмСнтов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свойство ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ.

Массив = Новый Массив;

Массив.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π―Π±Π»ΠΎΠΊΠΎ");

Массив.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π“Ρ€ΡƒΡˆΠ°");

Массив.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π‘Π»ΠΈΠ²Π°");

Для Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = 0 По Массив.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ - 1 Π¦ΠΈΠΊΠ»

Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚ = Массив[Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ];

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π­Π»Π΅ΠΌΠ΅Π½Ρ‚" + Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ +":" + Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚);

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ИспользованиС индСкса Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ элСмСнта Π² спискС. НапримСр, Ссли Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, являСтся Π»ΠΈ элСмСнт ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ, послСдним ΠΈΠ»ΠΈ находится Π² сСрСдинС массива. Π’Π°ΠΊΠΆΠ΅ это СдинствСнный способ бСзопасно ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт ΠΈΠ· массива Π²ΠΎ врСмя ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°, Ссли Π΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΊΠΎΠ½Ρ†Π° ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ.

Однако Ρƒ этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ нСдостатки. Код становится Π±ΠΎΠ»Π΅Π΅ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ ΠΈΠ·-Π·Π° нСобходимости ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ-счСтчик ΠΈ постоянно ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ массиву ΠΏΠΎ индСксу Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°. Π­Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибки Β«ΠΎΡ„Ρ„-Π±Π°ΠΉ-ΠΎΠ΄ΠΈΠ½Β» (off-by-one), ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π·Π°Π±Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΈΠ· количСства элСмСнтов.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ТСстко Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ числа Π² условии Ρ†ΠΈΠΊΠ»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, По 10), Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ массива ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ. ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Массив.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ для динамичСского опрСдСлСния Π³Ρ€Π°Π½ΠΈΡ†Ρ‹.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄: Ρ†ΠΈΠΊΠ» «Для КаТдого»

Π‘ΠΎΠ»Π΅Π΅ соврСмСнным ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ способом ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π² 1Π‘ являСтся конструкция Для КаТдого. Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ скрываСт ΠΎΡ‚ программиста ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ управлСния индСксом, позволяя ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ самого элСмСнта. Бинтаксис становится Ρ‡ΠΈΡ‰Π΅ ΠΈ понятнСС для чтСния.

ΠŸΡ€ΠΈ использовании этого Ρ†ΠΈΠΊΠ»Π° пСрСмСнная-ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ автоматичСски ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, сущСствуСт Π»ΠΈ элСмСнт ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ индСксу, ΠΈ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ лишниС строки ΠΊΠΎΠ΄Π° для получСния значСния ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ.

ΠœΠ°ΡΡΠΈΠ²Π”Π°Π½Π½Ρ‹Ρ… = Новый Массив;

//.. заполнСниС массива..

Для КаТдого Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Из ΠœΠ°ΡΡΠΈΠ²Π”Π°Π½Π½Ρ‹Ρ… Π¦ΠΈΠΊΠ»

// Π›ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Если Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π¦Π΅Π½Π° > 1000 Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π”ΠΎΡ€ΠΎΠ³ΠΎΠΉ Ρ‚ΠΎΠ²Π°Ρ€:" + Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.НаимСнованиС);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Π“Π»Π°Π²Π½ΠΎΠ΅ прСимущСство конструкции Для КаТдого Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π΅Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Один ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивом, списком Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ запроса, Ссли ΠΎΠ½ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³.

πŸ“Š Какой Ρ†ΠΈΠΊΠ» Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
Волько"Для" с индСксом
Волько"Для КаТдого"
Зависит ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ
НС знаю Ρ€Π°Π·Π½ΠΈΡ†Ρ‹

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρƒ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅: Π²Ρ‹ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ индСкс элСмСнта Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ». Если бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ знания порядкового Π½ΠΎΠΌΠ΅Ρ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для формирования Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ строк Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ Β«1, 2, 3..Β»), придСтся Π·Π°Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ-счСтчик ΠΈ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ сцСнарии использования

Π’Ρ‹Π±ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ†ΠΈΠΊΠ»ΠΎΠΌ с индСксом ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠΌ «Для КаТдого» часто Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ споры срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ практичСских Π·Π°Π΄Π°Ρ‡ Ρ€Π°Π·Π½ΠΈΡ†Π° Π² скорости выполнСния ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅ΠΆΠΈΠΌΠΎ ΠΌΠ°Π»Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ компилятор 1Π‘ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° достаточно эффСктивно. Однако Π² Π·Π°Π΄Π°Ρ‡Π°Ρ… с ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌΠΈ объСмами Π΄Π°Π½Π½Ρ‹Ρ… (ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ строк) Π½ΡŽΠ°Π½ΡΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌΠΈ.

Π¦ΠΈΠΊΠ» Для КаТдого ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π² ΠΌΠΈΠΊΡ€ΠΎΠ±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ°Ρ… ΠΈΠ·-Π·Π° Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов Π½Π° созданиС ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈ присваиваниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½ΠΎ эта Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ нивСлируСтся ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π»ΠΎΠ³ΠΈΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°. Π“ΠΎΡ€Π°Π·Π΄ΠΎ Π²Π°ΠΆΠ½Π΅Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ внСсСния ошибок Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΌΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ.

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ Π¦ΠΈΠΊΠ» «Для» (ИндСкс) Π¦ΠΈΠΊΠ» «Для КаТдого»
Доступ ΠΊ индСксу АвтоматичСски (пСрСмСнная счСтчика) Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
Π§ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° БрСдняя (большС шаблонного ΠΊΠΎΠ΄Π°) Высокая (Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉ синтаксис)
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ (ΠΏΡ€ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π΅ с ΠΊΠΎΠ½Ρ†Π°) Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ (Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ)
Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Волько индСксируСмыС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π›ΡŽΠ±Ρ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ значСния

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ спСцифичСскиС сцСнарии, Π³Π΄Π΅ индСксный Ρ†ΠΈΠΊΠ» Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ. НапримСр, ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки (ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²Π°Ρ, быстрая) ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ нСобходимости ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ сосСдниС элСмСнты массива (элСмСнт i с элСмСнтом i+1). Π’ Ρ‚Π°ΠΊΠΈΡ… случаях использованиС Для КаТдого услоТнит Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈΠ»ΠΈ сдСлаСт Π΅Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… структур.

πŸ’‘

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ просто вывСсти список ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС Π½Π°Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ элСмСнтом Π±Π΅Π· измСнСния структуры ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, всСгда Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ «Для КаТдого». Π­Ρ‚ΠΎ стандарт Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ Ρ‚ΠΎΠ½Π° Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° 1Π‘.

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Π²ΠΎ врСмя ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°

Одной ΠΈΠ· самых опасных ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ являСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состав ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ (Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнты) Π²ΠΎ врСмя Π΅Π΅ ΠΎΠ±Ρ…ΠΎΠ΄Π°. ПовСдСниС систСмы Π² Ρ‚Π°ΠΊΠΈΡ… ситуациях строго Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ» ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ критичСским ошибкам выполнСния.

ΠŸΡ€ΠΈ использовании Ρ†ΠΈΠΊΠ»Π° Для КаТдого ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° создаСт Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отслСТиваСт состояниС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ элСмСнт ΠΈΠ· массива, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΈΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€, ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ Β«ΡΠΎΠ±ΡŒΠ΅Ρ‚ΡΡΒ», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ индСксы всСх ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… элСмСнтов смСстятся. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ «ИзмСнСниС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π²ΠΎ врСмя ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈΒ».

Если ΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ массив, удаляя лишниС элСмСнты, слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ индСксный Ρ†ΠΈΠΊΠ», Π½ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ массив Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Удаляя элСмСнт с ΠΊΠΎΠ½Ρ†Π°, Π²Ρ‹ Π½Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚Π΅ индСксы Ρ‚Π΅Ρ… элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Π΅ прСдстоит ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ счСтчик двиТСтся ΠΎΡ‚ максимального значСния ΠΊ Π½ΡƒΠ»ΡŽ.

// ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнтов ΠΈΠ· массива

Для Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = Массив.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ - 1 По 0 Π¦ΠΈΠΊΠ» -1

Если Массив[Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ].ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ = Π˜ΡΡ‚ΠΈΠ½Π° Π’ΠΎΠ³Π΄Π°

Массив.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ(Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ удаляйтС элСмСнты ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° «Для КаТдого». Если трСбуСтся Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ, создайтС Π½ΠΎΠ²Ρ‹ΠΉ массив ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ‚ΡƒΠ΄Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ элСмСнты, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ индСксный Ρ†ΠΈΠΊΠ».

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнтов Π² ΠΊΠΎΠ½Π΅Ρ† массива Π²ΠΎ врСмя ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° «Для КаТдого» Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ нСпрСдсказуСмому повСдСнию: Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½, Π² зависимости ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. НадСТнСС сначала ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ для добавлСния Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ список, Π° ΠΏΠΎΡ‚ΠΎΠΌ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ основной массив ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π°.

Π Π°Π±ΠΎΡ‚Π° с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ

Π’ слоТных Π·Π°Π΄Π°Ρ‡Π°Ρ… Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ситуации, ΠΊΠΎΠ³Π΄Π° элСмСнты массива сами ΡΠ²Π»ΡΡŽΡ‚ΡΡ массивами ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°ΠΊΠΈΡ… структур Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ основным элСмСнтам, Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ β€” ΠΏΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ структурам Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈ написании Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² критичСски Π²Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…-счСтчиков ΠΈΠ»ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈΠΌΠ΅Π½ ΠΈ логичСских ошибок. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ внСшнСго, Ссли ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Ρ†ΠΈΠΊΠ» ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ Π·Π°ΠΊΠ°Π·Ρ‹, Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ†ΠΈΠΊΠ» ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π·Π°. Π­Ρ‚ΠΎ позволяСт Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ сумму ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π·Π°ΠΊΠ°Π·Ρƒ ΠΈ вывСсти Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² β€” Π²Π°ΠΆΠ½Ρ‹ΠΉ аспСкт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Если Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ†ΠΈΠΊΠ» выполняСтся тысячи Ρ€Π°Π· для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ внСшнСго, любая лишняя опСрация Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π΅ врСмя выполнСния. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ нСизмСняСмыС вычислСния ΠΈ обращСния ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π°.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСкурсивныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ссли Π³Π»ΡƒΠ±ΠΈΠ½Π° влоТСнности Π½Π΅ фиксирована. Однако для стандартных Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… структур (ΠΌΠ°Ρ‚Ρ€ΠΈΡ†) ΠΏΠ°Ρ€Π° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² Для остаСтся самым понятным ΠΈ эффСктивным Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ.

πŸ’‘

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ структурами Π΄Π°Π½Π½Ρ‹Ρ… всСгда провСряйтС, Ρ‡Ρ‚ΠΎ внутрСнняя коллСкция Π½Π΅ пуста, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ Π½Π΅ΠΉ Ρ†ΠΈΠΊΠ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π»ΠΈΡˆΠ½ΠΈΡ… Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов.

ЧастыС ошибки ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ досадныС ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ. Одной ΠΈΠ· распространСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ являСтся Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ΅ условиС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°, приводящСС ΠΊ бСсконСчной ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡ€Π΅ΠΆΠ΄Π΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ. ВсСгда пСрСпровСряйтС Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ².

  • 🚫 Ошибка: ИспользованиС По Массив.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ вмСсто Массив.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ - 1 Π² индСксном Ρ†ΠΈΠΊΠ»Π΅.
  • βœ… РСшСниС: ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ индСкс послСднСго элСмСнта всСгда Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ мСньшС ΠΎΠ±Ρ‰Π΅Π³ΠΎ количСства.
  • ⚑ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ: ΠšΡΡˆΠΈΡ€ΡƒΠΉΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Массив.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄ Ρ†ΠΈΠΊΠ»ΠΎΠΌ, Ссли Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ массива Π½Π΅ мСняСтся.
  • πŸ›‘ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ Ρ‚ΠΈΠΏ элСмСнта ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ, Ссли массив Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΉ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ являСтся использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ для пропуска ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ, вмСсто Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Если. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ плоским ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΈ наступлСнии критичСского события.

Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ слоТной Π»ΠΎΠ³ΠΈΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Ρ†ΠΈΠΊΠ»Π°. Условия Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ простыми ΠΈ понятными. Если Π»ΠΎΠ³ΠΈΠΊΠ° опрСдСлСния Π³Ρ€Π°Π½ΠΈΡ† слоТная, вынСситС Π΅Π΅ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π°. Π­Ρ‚ΠΎ упростит ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ тСстированиС ΠΊΠΎΠ΄Π°.

β˜‘οΈ Π§Π΅ΠΊ-лист ΠΏΠ΅Ρ€Π΅Π΄ запуском Ρ†ΠΈΠΊΠ»Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π‘Π»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ этим рСкомСндациям ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² 1Π‘. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π° читаСтся ΠΈ поддСрТиваСтся ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ, поэтому ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ всСгда Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ясности ΠΈ прСдсказуСмости повСдСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ (FAQ)

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта массива Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° «Для КаТдого»?

Π”Π°, Ссли элСмСнт являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈΠ»ΠΈ ссылка Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ свойства. Однако Ссли Π²Ρ‹ присвоитС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ = 5), это Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ сам массив, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ пСрСмСнная ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ копию значСния ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡƒΡŽ ссылку, Π½Π΅ влияя Π½Π° ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ.

Π§Ρ‚ΠΎ быстрСС: Ρ†ΠΈΠΊΠ» «Для» ΠΈΠ»ΠΈ «Для КаТдого»?

Π’ соврСмСнных вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8 Ρ€Π°Π·Π½ΠΈΡ†Π° Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ минимальна ΠΈ часто находится Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ. Π’Ρ‹Π±ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° удобствС чтСния ΠΊΠΎΠ΄Π° ΠΈ спСцификС Π·Π°Π΄Π°Ρ‡ΠΈ (Π½ΡƒΠΆΠ΅Π½ Π»ΠΈ индСкс, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ элСмСнты).

Как ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ значСния Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹?

Для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ†ΠΈΠΊΠ» «Для КаТдого», Π³Π΄Π΅ пСрСмСнная ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏ БоотвСтствиС. Из этого соотвСтствия ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свойства ΠšΠ»ΡŽΡ‡ ΠΈ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΡ€ΡΠΌΠΎΠΉ доступ ΠΏΠΎ индСксу Π² Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° Π½Π΅ упорядочСна ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Π΄Π²ΡƒΡ… Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² сразу?

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ (Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ) Ρ†ΠΈΠΊΠ»Π°. Для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· внСшнСго Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ (Ссли ΠΊΠΎΠ΄ находится Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ) ΠΈΠ»ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π»Π°Π³-ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСтся Π² условии внСшнСго Ρ†ΠΈΠΊΠ»Π°.