Π Π°Π±ΠΎΡ‚Π° с коллСкциями Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ Π½Π°Π²Ρ‹ΠΊΠΎΠΌ для любого Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ БписокЗначСний ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ повсСмСстно: ΠΎΡ‚ формирования ΠΎΡ‚Π±ΠΎΡ€ΠΎΠ² Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ… Π΄ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ настроСк ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ. ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ эффСктивно ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ вашСго ΠΊΠΎΠ΄Π°.

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

МногиС Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ спСциалисты ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ стандартныС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ Π½Π΅ всСгда ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹. НапримСр, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ получСния индСкса элСмСнта ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ состава ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Β«Π½Π° Π»Π΅Ρ‚ΡƒΒ» Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ спСцифичСских Π·Π½Π°Π½ΠΈΠΉ синтаксиса встроСнного языка. ΠœΡ‹ рассмотрим эти кСйсы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… Π·Π°Ρ‚Ρ€Π°Ρ‚ рСсурсов сСрвСра ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° БписокЗначСний

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, Π²Π°ΠΆΠ½ΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΈΠ· Ρ‡Π΅Π³ΠΎ состоит этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. БписокЗначСний β€” это Π½Π΅ просто массив строк, Π° коллСкция ΠΏΠ°Ρ€ Β«Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β» ΠΈ Β«ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅Β». ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту соотвСтствуСт ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любого Ρ‚ΠΈΠΏΠ°: число, строка, ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚) ΠΈ Π΅Π³ΠΎ тСкстовоС прСдставлСниС, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π² интСрфСйсС.

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ индСксу (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, большС количСства элСмСнтов минус ΠΎΠ΄ΠΈΠ½) ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС выполнСния. ВсСгда провСряйтС количСство элСмСнтов Ρ‡Π΅Ρ€Π΅Π· свойство ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() ΠΏΠ΅Ρ€Π΅Π΄ доступом ΠΏΠΎ индСксу.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ˜Π½Π΄Π΅ΠΊΡΠŸΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡŽ(), Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ быстро Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ элСмСнта Π±Π΅Π· ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСго списка Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ» «Для КаТдого»

Π‘Π°ΠΌΡ‹ΠΉ распространСнный ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ способ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ β€” использованиС Ρ†ΠΈΠΊΠ»Π° Для КаТдого. Π­Ρ‚ΠΎΡ‚ синтаксичСский конструкт автоматичСски управляСт курсором ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°, прСдоставляя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ доступ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ элСмСнту Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Код получаСтся Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΌ ΠΈ Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ.

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

Для КаТдого Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Из ΠœΠΎΠΉΠ‘ΠΏΠΈΡΠΎΠΊΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π¦ΠΈΠΊΠ»

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: " + Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅);

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("ВСкст: " + Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅);

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

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

πŸ’‘

Π¦ΠΈΠΊΠ» «Для КаТдого» обСспСчиваСт Π»ΡƒΡ‡ΡˆΡƒΡŽ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ являСтся ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для Π·Π°Π΄Π°Ρ‡ чтСния Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ структуры списка.

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ с использованиСм индСксов

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

Доступ ΠΊ элСмСнту осущСствляСтся ΠΏΠΎ Π΅Π³ΠΎ числовому индСксу Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ(). Π­Ρ‚ΠΎ позволяСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ ΠΈ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ бСзопасно ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ элСмСнты, Ссли Ρ†ΠΈΠΊΠ» ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС β€” ΠΎΡ‚ послСднСго элСмСнта ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ.

  • πŸ”’ ΠŸΡ€ΡΠΌΠΎΠΉ порядок (ΠΎΡ‚ 0 Π΄ΠΎ N-1) ΡƒΠ΄ΠΎΠ±Π΅Π½ для чтСния ΠΈ добавлСния элСмСнтов Π² ΠΊΠΎΠ½Π΅Ρ†.
  • πŸ”„ ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ порядок (ΠΎΡ‚ N-1 Π΄ΠΎ 0) обязатСлСн для бСзопасного удалСния элСмСнтов Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°.
  • πŸ›  ΠŸΡ€ΡΠΌΠΎΠΉ доступ ΠΏΠΎ индСксу позволяСт ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ячСйки Π±Π΅Π· создания Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ бСзопасного удалСния. Если Π²Ρ‹ ΠΈΠ΄Π΅Ρ‚Π΅ снизу Π²Π²Π΅Ρ€Ρ…, Ρ‚ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта со сдвигом ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… индСксов Π½Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π΅ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Π΅ прСдстоит ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ находятся Β«Π½ΠΈΠΆΠ΅Β» Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ индСкса.

Для ИндСкс = ΠœΠΎΠΉΠ‘ΠΏΠΈΡΠΎΠΊΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() - 1 По 0 Π¦ΠΈΠΊΠ»

Если ΠœΠΎΠΉΠ‘ΠΏΠΈΡΠΎΠΊΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ[ИндСкс].Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ < 10 Π’ΠΎΠ³Π΄Π°

ΠœΠΎΠΉΠ‘ΠΏΠΈΡΠΎΠΊΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ(ИндСкс);

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

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ нСльзя ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π² прямом Ρ†ΠΈΠΊΠ»Π΅?

ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ элСмСнта с индСксом i, всС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ i. Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ Ρ†ΠΈΠΊΠ»Π° увСличиваСтся Π΄ΠΎ i+1, ΠΈ элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ занял мСсто ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½.

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

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

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

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π§ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ удалСния ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
Для КаТдого Высокая НСт (риск ошибок) Высокая
Для (прямой) БрСдняя НСт (риск пропуска) БрСдняя
Для (ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ) Низкая Π”Π° (бСзопасно) Высокая

ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ стратСгиСй считаСтся использованиС Для КаТдого для всСх Π·Π°Π΄Π°Ρ‡, Π³Π΄Π΅ Π½Π΅ трСбуСтся модификация структуры списка. Если ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Ρ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ список ΠΎΡ‚ Π»ΠΈΡˆΠ½ΠΈΡ… записСй, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΏΠΎ индСксам. ΠœΠΈΠΊΡ€ΠΎΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π½Π΅ стоит услоТнСния ΠΊΠΎΠ΄Π° Π±Π΅Π· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ нСобходимости.

πŸ“Š Какой Ρ†ΠΈΠΊΠ» Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
Для КаТдого
Для с индСксами
Поиск ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ
Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚Π±ΠΎΡ€

Поиск ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ элСмСнтов

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

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡŽ() позволяСт ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнт, Ссли Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡. Π­Ρ‚ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ эффСктивнСС, Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» с условиСм Если Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π˜ΡΠΊΠΎΠΌΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π’ΠΎΠ³Π΄Π°. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” это сам элСмСнт списка ΠΈΠ»ΠΈ НСопрСдСлСно, Ссли Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ.

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

НовыйБписок = Новый БписокЗначСний;

Для КаТдого Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Из Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠ‘ΠΏΠΈΡΠΎΠΊ Π¦ΠΈΠΊΠ»

Если Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ° И Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ > 100 Π’ΠΎΠ³Π΄Π°

НовыйБписок.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅);

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ элСмСнтов Π² Π½ΠΎΠ²Ρ‹ΠΉ список ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ свойства Β«ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Β» ΠΈ Β«ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°Β» Π½Π΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ автоматичСски ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ прСдставлСниС. Π˜Ρ… Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

ЧастыС ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со списком

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

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ частый кСйс β€” Π·Π°Π±Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° пустой список ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ элСмСнту ΠΏΠΎ индСксу 0. Если список пуст, Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Если Бписок.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() > 0 Π’ΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π΅Π΄ прямым доступом.

  • ❌ ИзмСнСниС списка Π² Ρ†ΠΈΠΊΠ»Π΅ «Для КаТдого».
  • ❌ ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ индСксу Π±Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ количСства элСмСнтов.
  • ❌ Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° значСния ΠΏΡ€ΠΈ сравнСнии (строка с числом).

Π’Π°ΠΊΠΆΠ΅ стоит Π±Ρ‹Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈ сравнСнии Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ числа 10 ΠΈ строки "10" Π²Π΅Ρ€Π½Π΅Ρ‚ лоТь, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ. Π―Π²Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… ситуаций.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° бСзопасности ΠΊΠΎΠ΄Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4
МоТно Π»ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ БписокЗначСний Π²ΠΎ врСмя ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°?

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

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ индСкс Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта Π² Ρ†ΠΈΠΊΠ»Π΅ «Для КаТдого»?

Π’ явном Π²ΠΈΠ΄Π΅ пСрСмСнная индСкса Π² Ρ†ΠΈΠΊΠ»Π΅ Для КаТдого Π½Π΅ доступна. Если индСкс критичСски Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ, СдинствСнно Π²Π΅Ρ€Π½Ρ‹ΠΉ способ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Бписок.ИндСкс(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚) Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°. Однако это сниТаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ осущСствляСт поиск элСмСнта ΠΏΠΎ ссылкС. Для Π·Π°Π΄Π°Ρ‡ с индСксациСй Π»ΡƒΡ‡ΡˆΠ΅ сразу ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» Для.

Π§Ρ‚ΠΎ быстрСС: ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ» с условиСм?

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда быстрСС ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅. Он ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π ΡƒΡ‡Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ» с условиСм Если ... Π’ΠΎΠ³Π΄Π° ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° встроСнного языка Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ создаСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, особСнно Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… списках.

МоТно Π»ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² БпискСЗначСний Π΄Ρ€ΡƒΠ³ΠΈΠ΅ БпискиЗначСний?

Π”Π°, свойство Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта Ρ‚ΠΈΠΏΠ° БписокЗначСний ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ любой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹. Π­Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹Π΅ структуры Π΄Π°Π½Π½Ρ‹Ρ…. Однако ΠΏΡ€ΠΈ сСриализации ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Ρ‚Π°ΠΊΠΈΡ… структур ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½ΡŽΠ°Π½ΡΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ контСкстС Π·Π°Π΄Π°Ρ‡ΠΈ.

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ?

Для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ удалСния всСх элСмСнтов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ(). Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, нСзависимо ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° списка. НС рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» с ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ элСмСнту для этой Ρ†Π΅Π»ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это нСэффСктивно ΠΈ Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π°Π΅Ρ‚ ΠΊΠΎΠ΄. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ МойБписок.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ().