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

ДинамичСский список β€” это Π½Π΅ просто Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…, Π° слоТный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π½ΠΎ ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запрос Π½Π° Π»Π΅Ρ‚Ρƒ. ПониманиС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структуры ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ДинамичСскийБписок критичСски Π²Π°ΠΆΠ½ΠΎ для написания ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠœΡ‹ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ сцСнарии: ΠΎΡ‚ простого чтСния Π΄ΠΎ массовой ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ записСй.

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ отличия ДинамичСскогоБписка ΠΎΡ‚ Π’Π°Π±Π»ΠΈΡ†Ρ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

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

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

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, структура Колонки Ρƒ динамичСского списка формируСтся динамичСски Π² зависимости ΠΎΡ‚ настроСк ΠΎΡ‚Π±ΠΎΡ€Π° ΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ, Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² интСрфСйсС. Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ программиста особой Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ТСсткая привязка ΠΊ полям ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌ Π² runtime.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ строки динамичСского списка Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π±Π΅Π· использования ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² записи ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡŽ цСлостности Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. ВсСгда провСряйтС Ρ€Π΅ΠΆΠΈΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

πŸ’‘

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ просто ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· слоТной Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, рассмотритС использованиС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Π’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° вмСсто динамичСского списка для сниТСния Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ с использованиСм Ρ†ΠΈΠΊΠ»Π° "Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ"

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

Для КаТдого Π‘Ρ‚Ρ€ΠΎΠΊΠ° Из ДинамичСскийБписок Π¦ΠΈΠΊΠ»

// ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки

Если Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π¦Π΅Π½Π° > 1000 Π’ΠΎΠ³Π΄Π°

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Бтатус = "Π”ΠΎΡ€ΠΎΠ³ΠΎΠΉ Ρ‚ΠΎΠ²Π°Ρ€";

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

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

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

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π·Π°Π΄Π°Ρ‡ чтСния ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°, Π³Π΄Π΅ Π½Π΅ трСбуСтся массовая ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹Ρ…. Если ваша Ρ†Π΅Π»ΡŒ β€” ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒ строки Ρ†Π²Π΅Ρ‚ΠΎΠΌ Π² зависимости ΠΎΡ‚ условий, Ρ†ΠΈΠΊΠ» Для КаТдого Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния читаСмости ΠΊΠΎΠ΄Π°.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
Π¦ΠΈΠΊΠ» "Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ"
Π¦ΠΈΠΊΠ» "По индСксу"
Запрос Ρ‡Π΅Ρ€Π΅Π· Π‘ΠšΠ”
НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ динамичСскиС списки

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

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

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠ‘Ρ‚Ρ€ΠΎΠΊ = ДинамичСскийБписок.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ();

Для ИндСкс = 0 По ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠ‘Ρ‚Ρ€ΠΎΠΊ - 1 Π¦ΠΈΠΊΠ»

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = ДинамичСскийБписок.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ(ИндСкс);

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

Если Π‘Ρ‚Ρ€ΠΎΠΊΠ°.ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ Π’ΠΎΠ³Π΄Π°

ДинамичСскийБписок.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ(ИндСкс);

ИндСкс = ИндСкс - 1; // ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° индСкса послС удалСния

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

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

Ошибки Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ счСтчика Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ пропуску строк ΠΈΠ»ΠΈ возникновСнию ошибок Π²Ρ‹Ρ…ΠΎΠ΄Π° Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ массива. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ†ΠΈΠΈ.

ИспользованиС индСксов Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ слоТныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сортировки "Π½Π° Π»Π΅Ρ‚Ρƒ" ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ строк (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сравнСниС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ). Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт Π² арсСналС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° 1Π‘, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ слСдуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° стандартный ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ строк Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠΎ индСксам ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΠΉΡ‚Π΅ счСтчик Ρ†ΠΈΠΊΠ»Π° Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹ пропуститС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ строки, которая сдвинСтся Π½Π° мСсто ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΠΎ индСксам

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

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

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

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

Для списков объСмом Π±ΠΎΠ»Π΅Π΅ 10 000 строк рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСрвСрныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΡƒ Π² Π’Π°Π±Π»ΠΈΡ†ΡƒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всю Ρ‚ΡΠΆΠ΅Π»ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Π½Π° сторонС сСрвСра Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° свойство ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠžΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ интСрфСйса Π½Π° врСмя выполнСния массовой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ пСрСрисовку Ρ„ΠΎΡ€ΠΌΡ‹ послС измСнСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строки, Ρ‡Ρ‚ΠΎ сущСствСнно ускоряСт Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

πŸ’‘

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ: пСрСноситС Ρ†ΠΈΠΊΠ»Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСр ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ количСство мСТконтСкстных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром.

Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π’Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° зависит ΠΎΡ‚ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ характСристик Π΄Π°Π½Π½Ρ‹Ρ…. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‰Π°Ρ основныС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΎΠ±Ρ…ΠΎΠ΄Ρƒ строк динамичСского списка ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ.

ΠœΠ΅Ρ‚ΠΎΠ΄ Π§ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ удалСния
Π¦ΠΈΠΊΠ» "Для КаТдого" Высокая БрСдняя ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π°
Π¦ΠΈΠΊΠ» ΠΏΠΎ индСксам БрСдняя Высокая Полная
Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Π² Π’Π— Низкая ΠžΡ‡Π΅Π½ΡŒ высокая Полная
Π‘ΠšΠ” запрос БлоТная Максимальная НСт (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅)

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ доступныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ динамичСского списка ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈ Ρ‚ΠΈΠΏΠ° Ρ„ΠΎΡ€ΠΌΡ‹ (обычная ΠΈΠ»ΠΈ управляСмая). ВсСгда провСряйтС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ для вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии.

Π‘Π΅ΠΊΡ€Π΅Ρ‚ быстрой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° "ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅Π‘Ρ‚Ρ€ΠΎΠΊΠΈ" позволяСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π΄Π΅Π»ΠΈΠ» Π² интСрфСйсС, Ρ‡Ρ‚ΠΎ ускоряСт Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² дСсятки Ρ€Π°Π·.

ЧастыС ошибки ΠΈ способы ΠΈΡ… прСдотвращСния

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

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

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

ВсСгда тСстируйтС свой ΠΊΠΎΠ΄ Π½Π° Ρ€Π΅ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстро Π½Π° дСсяткС строк, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠΌ мСстом ΠΏΡ€ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ систСмы. ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнных инструмСнтов 1Π‘ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ скрытыС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнный ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ 1Π‘ для Π°Π½Π°Π»ΠΈΠ·Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Ρ†ΠΈΠΊΠ»ΠΎΠ². Он ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ строки ΠΊΠΎΠ΄Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ большС всСго рСсурсов процСссора.

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ структуру ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ динамичСского списка Π² Ρ†ΠΈΠΊΠ»Π΅?

НСт, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ структуры (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ) динамичСского списка Π²ΠΎ врСмя ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ строкам нСдопустимо ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° Ρ†ΠΈΠΊΠ»Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Как ΠΎΠ±ΠΎΠΉΡ‚ΠΈ строки, Ссли список пуст?

Π¦ΠΈΠΊΠ» просто Π½Π΅ выполнится Π½ΠΈ Ρ€Π°Π·Ρƒ. Однако рСкомСндуСтся ΠΏΠ΅Ρ€Π΅Π΄ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ свойство ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Если НС ДинамичСскийБписок.ΠŸΡƒΡΡ‚Π°Ρ() Π’ΠΎΠ³Π΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ лишнСй ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ?

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ(ИндСкс) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку ΠΏΠΎ числовому индСксу. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘Ρ‚Ρ€ΠΎΠΊΡƒ(Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€) позволяСт Π½Π°ΠΉΡ‚ΠΈ строку ΠΏΠΎ Π΅Ρ‘ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли порядок строк ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ.

Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ запись ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² большом спискС?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ запись ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ВмСсто сохранСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΠΉΡ‚Π΅ измСнСния ΠΈ примСняйтС ΠΈΡ… ΠΎΠ΄Π½ΠΈΠΌ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Π½Π° сСрвСрС, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π—Π°ΠΏΠΈΡΡŒΠ”Π°Π½Π½Ρ‹Ρ… для массовой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.