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

ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, критичСски Π²Π°ΠΆΠ½ΠΎ для написания ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ сущСствСнному замСдлСнию Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, особСнно ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ†ΠΈΠΊΠ»Π°Ρ…. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ основныС Ρ‚ΠΈΠΏΡ‹ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², доступныС Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, ΠΈ выясним, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… слСдуСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ.

Часто Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ ΠΏΡƒΡ‚Π°ΡŽΡ‚ понятия Ρ†ΠΈΠΊΠ»Π° ΠΈ самого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°: Ρ†ΠΈΠΊΠ» β€” это конструкция языка, Π° ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ доступ ΠΊ элСмСнтам. Π”Π°Π²Π°ΠΉΡ‚Π΅ углубимся Π² тСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ.

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, с Ρ‡Π΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ. Π’ 1Π‘ сущСствуСт мноТСство Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ: Массив, БписокЗначСний, Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти.

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ β€” это процСсс ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ доступа ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° прСдоставляСт встроСнныС срСдства для этого, скрывая Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с указатСлями памяти. Однако Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит "ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ".

НапримСр, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π’Π°Π±Π»ΠΈΡ†Π΅ΠΉΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ строк ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Ошибка Π² Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ‚ΠΈΠΏΠ° ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ здСсь ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ логичСским ошибкам ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния.

πŸ“Š Π‘ ΠΊΠ°ΠΊΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
ΠœΠ°ΡΡΠΈΠ²Ρ‹
Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ запросов
Бписки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π¦ΠΈΠΊΠ» Для КаТдого: ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€

Π‘Π°ΠΌΡ‹ΠΌ распространСнным ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ способом ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π² языкС 1Π‘ являСтся конструкция Для КаТдого ... Из ... Π¦ΠΈΠΊΠ». Π­Ρ‚ΠΎ синтаксичСский сахар, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° транслируСт Π² Π²Ρ‹Π·ΠΎΠ² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ситуаций, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ просто ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС Π½Π°Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ элСмСнтом, Π½Π΅ Π·Π°Π±ΠΎΡ‚ΡΡΡŒ ΠΎ Π΅Π³ΠΎ индСксС. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ автоматичСски управляСт курсором, пСрСмСщая Π΅Π³ΠΎ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» Для КаТдого Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΊΠΎΠΏΠΈΠ΅ΠΉ ссылки Π½Π° элСмСнт Π² случаС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π² случаС ссылочных Ρ‚ΠΈΠΏΠΎΠ². Π­Ρ‚ΠΎ Π·Π½Π°Π½ΠΈΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ структуру ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ использованиС:

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

МойМассив.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1");

МойМассив.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 2");

Для КаТдого Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Из МойМассив Π¦ΠΈΠΊΠ»

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚);

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

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ» "Для КаТдого" Π² 90% случаСв. Он Ρ‡ΠΈΡ‰Π΅, понятнСС ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ ошибкам Π²Ρ‹Ρ…ΠΎΠ΄Π° Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ массива, Ρ‡Π΅ΠΌ Ρ†ΠΈΠΊΠ» ΠΏΠΎ индСксу.

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

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ индСксу: ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ

Иногда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ трСбуСтся ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ процСссом ΠΎΠ±Ρ…ΠΎΠ΄Π°. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ классичСский Ρ†ΠΈΠΊΠ» Для ... По ... Π¦ΠΈΠΊΠ», Π³Π΄Π΅ Π² качСствС счСтчика выступаСт индСкс элСмСнта. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ явного указания Π³Ρ€Π°Π½ΠΈΡ† ΠΈ шага.

Π“Π»Π°Π²Π½ΠΎΠ΅ прСимущСство ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ саму ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ строки ΠΈΠ· Π’Π°Π±Π»ΠΈΡ†Ρ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ элСмСнты ΠΈΠ· Массива, Ссли Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ с ΠΊΠΎΠ½Ρ†Π° ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ индСкс.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, доступ ΠΏΠΎ индСксу Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ, ΠΊΠΎΠ³Π΄Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° зависит ΠΎΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ элСмСнта (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΡƒΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ). Π’ Ρ†ΠΈΠΊΠ»Π΅ Для КаТдого ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ индСкс Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ бСзопасного удалСния элСмСнтов:

Для ИндСкс = МойМассив.Π’Π“Ρ€Π°Π½ΠΈΡ†Π°() По 0 Π¦ΠΈΠΊΠ» -1

Если МойМассив[ИндСкс] = "Π£Π΄Π°Π»ΠΈΡ‚ΡŒ" Π’ΠΎΠ³Π΄Π°

МойМассив.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ(ИндСкс);

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

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ с ΠΊΠΎΠ½Ρ†Π°?

ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ элСмСнта ΠΏΠΎ индСксу всС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ Π²Π»Π΅Π²ΠΎ. Если ΠΈΠ΄Ρ‚ΠΈ с Π½Π°Ρ‡Π°Π»Π°, Π²Ρ‹ пропуститС ΠΎΠ΄ΠΈΠ½ элСмСнт. Π”Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ с ΠΊΠΎΠ½Ρ†Π° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

НСдостатком Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° являСтся ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Π°Ρ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибки "ИндСкс Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°". Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ обязан ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, Ссли ΠΎΠ½Π° мСняСтся динамичСски.

ΠžΠ±Ρ…ΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: рСкурсивный ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€

Π Π°Π±ΠΎΡ‚Π° со структурой Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ особого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ здСсь ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π½Ρ‹. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ², Ссли Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Ρ…ΠΎΠ΄Π°.

Π’ 1Π‘ сущСствуСт встроСнный ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ для Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ структуру Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ ΠΈΠ»ΠΈ Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ. Π§Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠžΠ±Ρ…ΠΎΠ΄, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠ±Ρ…ΠΎΠ΄Π°, ΠΈΠ»ΠΈ рСкурсивныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ здСсь являСтся ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠ·Π»Π°ΠΌΠΈ ΠΈ строками. Π£Π·Π΅Π» Π΄Π΅Ρ€Π΅Π²Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты, ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΌΠ΅Ρ‚ΡŒ "ΡΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ" Π²Π½ΡƒΡ‚Ρ€ΡŒ Π½ΠΈΡ…. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ влоТСнности ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ части Π΄Π°Π½Π½Ρ‹Ρ….

β˜‘οΈ Алгоритм ΠΎΠ±Ρ…ΠΎΠ΄Π° Π΄Π΅Ρ€Π΅Π²Π°

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

ΠŸΡ€ΠΈ использовании рСкурсии Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Π³Π»ΡƒΠ±ΠΈΠ½Π΅ стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π₯отя для Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ 1Π‘ это Ρ€Π΅Π΄ΠΊΠΎ становится ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… ΠΈ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΡ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ с собствСнным стСком.

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· запроса ΠΊΠ°ΠΊ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€

Особняком стоит Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°Π˜Π·Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Π—Π°ΠΏΡ€ΠΎΡΠ° являСтся классичСским ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π‘Π£Π‘Π”. Он Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ порциями, Π½Π΅ занимая всю ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ сразу.

ИспользованиС Ρ†ΠΈΠΊΠ»Π° Пока Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ() Π¦ΠΈΠΊΠ» являСтся стандартным ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠΌ. ΠœΠ΅Ρ‚ΠΎΠ΄ Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ() ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ запись ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истину, Ссли запись Π½Π°ΠΉΠ΄Π΅Π½Π°.

Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивный способ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ². Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ всСго Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² Π’Π°Π±Π»ΠΈΡ†ΡƒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ(), Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° позволяСт Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… записСй Π΅Ρ‰Π΅ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ запрос ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ сСрвСром.

πŸ’‘

ИспользованиС Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ запроса вмСсто Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π² Ρ€Π°Π·Ρ‹ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

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

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²

Различия Π² скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ Π½ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для написания ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° сравнСния характСристик.

Π’ΠΈΠΏ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Расход памяти
Для КаТдого Высокая БрСдняя ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ
По индСксу БрСдняя Высокая ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ
Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° запроса Зависит ΠΎΡ‚ Π‘Π£Π‘Π” Волько Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΉ
Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° + Π¦ΠΈΠΊΠ» Низкая (Π½Π° стартС) Высокая Высокий

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° + Π¦ΠΈΠΊΠ» ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π² скорости старта, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ копирования всСх Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. Однако ΠΎΠ½ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π² гибкости, позволяя ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ Π±Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ Π±Π°Π·Π΅.

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² записСй критичСски Π²Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ пСрСполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти сСрвСра 1Π‘.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ прСдостСрСТСния

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

πŸ’‘

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Для i = 0 По Π’Π°Π±Π»ΠΈΡ†Π°.Π’Π“Ρ€Π°Π½ΠΈΡ†Π°(), Ссли Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° Π²Ρ‹ удаляСтС строки ΠΈΠ· этой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π“Ρ€Π°Π½ΠΈΡ†Π° измСнится, Π° счСтчик ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ расти, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ пропуску элСмСнтов ΠΈΠ»ΠΈ ошибкС.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° связана с Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π’ слабона Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ 1Π‘ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² Ρ†ΠΈΠΊΠ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, число ΠΈΠ»ΠΈ строку), Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. ВсСгда провСряйтС Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΎΠ±Ρ…ΠΎΠ΄Π°, Ссли ΠΎΠ½Π° ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… источников.

Ошибка "ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ"

Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ "Для КаТдого" с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая Ρ€Π°Π²Π½Π° НСопрСдСлСно ΠΈΠ»ΠΈ являСтся простым Ρ‚ΠΈΠΏΠΎΠΌ (Число, Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π”Π°Ρ‚Π°).

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ строки (Π”Π΅Ρ€Π΅Π²ΠΎ.Π‘Ρ‚Ρ€ΠΎΠΊΠΈ), Π° Π½Π΅ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π΅Ρ€Π΅Π²Π°, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСпрСдсказуСмым Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ…. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ· запроса Π² управляСмой Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ выполняСтС Π΄ΠΎΠ»Π³ΠΈΠ΅ вычислСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°, интСрфСйс ΠΌΠΎΠΆΠ΅Ρ‚ "Π·Π°Π²ΠΈΡΠ½ΡƒΡ‚ΡŒ". Π’ Ρ‚Π°ΠΊΠΈΡ… случаях рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания ΠΈΠ»ΠΈ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° ΠΏΠΎΡ€Ρ†ΠΈΠΈ.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² Π‘ΠšΠ” (БистСма Компоновки Π”Π°Π½Π½Ρ‹Ρ…)?

Π’ Π‘ΠšΠ” прямоС использованиС Ρ†ΠΈΠΊΠ»ΠΎΠ² 1Π‘ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ основная Π»ΠΎΠ³ΠΈΠΊΠ° описываСтся Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ. Однако Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… событий ΠΌΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ схСм Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартныС ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΎΡ‚ Π‘ΠšΠ”.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π’Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ ΠΈ Π’Π°Π±Π»ΠΈΡ†Π΅ΠΉΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° β€” это курсор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ записи ΠΈΠ· Π±Π°Π·Ρ‹ (ΠΈΠ»ΠΈ Π±ΡƒΡ„Π΅Ρ€Π°). Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² памяти, хранящий всС Π΄Π°Π½Π½Ρ‹Π΅ сразу. Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° экономит ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π’Π°Π±Π»ΠΈΡ†Π° позволяСт быстро ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎ индСксу ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ….

Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ большого массива?

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

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Ρ†ΠΈΠΊΠ» зациклился?

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