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

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

РассмотрСниС этих структур Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°Ρ‡Π½Π΅ΠΌ с ΠΈΡ… Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ опрСдСлСния ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² памяти систСмы.

АрхитСктурныС различия ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство

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

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

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ. Массив Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π΅Π½ ΠΏΠΎ содСрТимому (хотя программист ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ стараСтся ΠΊΠ»Π°ΡΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅), Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ элСмСнта, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ элСмСнт Π½Π΅ являСтся Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΎΠΉ. Π’Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ всСгда ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΈ самодокумСнтируСмым. ИспользованиС Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() явно фиксируСт схСму Π΄Π°Π½Π½Ρ‹Ρ…, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прСдстоит Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, число ΠΈ строку) ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡŽ Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ»ΠΈ ошибкС, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ массив спокойно ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ объявлСния схСмы.

ВСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° с использованиСм ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ², Π±Π»ΠΈΠ·ΠΊΠΈΡ… ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ Π‘Π£Π‘Π”, Ρ‡Ρ‚ΠΎ обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈ сортировки ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ массива Π² Ρ†ΠΈΠΊΠ»Π΅.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

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

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° массива часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ написания явных Ρ†ΠΈΠΊΠ»ΠΎΠ² Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ... Из ... Π¦ΠΈΠΊΠ». Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ элСмСнт Π² массивС ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ, Π²Π°ΠΌ придСтся ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ O(n). Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ аналогичная опСрация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π·Π° Π΄ΠΎΠ»ΠΈ сСкунды благодаря Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ индСксам ΠΈ оптимизациям.

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

  • πŸš€ Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡƒΡŽ сортировку Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· написания Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки.
  • 🐒 ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ массива Π² Ρ†ΠΈΠΊΠ»Π΅ для поиска элСмСнта Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° НайтиБтроки Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.
  • ⚑ ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ (сумма, срСднСС) Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ встроСнными срСдствами ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.
πŸ’‘

Для ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ 50 элСмСнтов использованиС Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ являСтся стандартом ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² 1Π‘.

Удобство Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ ΠΈ структурой

Π Π°Π±ΠΎΡ‚Π° со структурированными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Π’Π°Π±Π»ΠΈΡ†Π΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° 1Π‘. Π’Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ понятным Π΄Π°ΠΆΠ΅ спустя Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя. НапримСр, конструкция Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π‘ΡƒΠΌΠΌΠ° ΠΈΠ»ΠΈ Π‘Ρ‚Ρ€ΠΎΠΊΠ°.НомСнклатура сразу Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, с ΠΊΠ°ΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π΄Π΅Π»ΠΎ.

ΠŸΡ€ΠΈ использовании массива, Ссли Π²Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ Π² Π½Π΅ΠΌ структуры, доступ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»ΡŽΡ‡ΠΈ: Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ("Π‘ΡƒΠΌΠΌΠ°"). Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° написаниС ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ. Если ΠΆΠ΅ Π² массивС хранятся простыС значСния, Ρ‚ΠΎ контСкст Π΄Π°Π½Π½Ρ‹Ρ… тСряСтся, ΠΈ программисту приходится ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π»Π΅ΠΆΠΈΡ‚ ΠΏΠΎΠ΄ индСксом 0, Π° Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ индСксом 1.

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

// ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² Π’Π°Π±Π»ΠΈΡ†Π΅ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π’ΠΎΠ²Π°Ρ€", ВипОписанияВипов.Π’ΠΈΠΏ("БправочникБсылка.НомСнклатура"));

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ", ВипОписанияВипов.Π’ΠΈΠΏ("Число"));

Бтрогая типизация ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ошибки Π½Π° этапС выполнСния, прСдотвращая запись Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠΎΠ»Π΅, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для чисСл ΠΈΠ»ΠΈ Π΄Π°Ρ‚.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ автоподстановку IDE ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π’Π°Π±Π»ΠΈΡ†Π΅ΠΉ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ послС Ρ‚ΠΎΡ‡ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ускоряСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ использования: ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Массив

НСсмотря Π½Π° прСимущСства Ρ‚Π°Π±Π»ΠΈΡ†, Массив остаСтся Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ инструмСнтом Π² арсСналС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° 1Π‘. Π•Π³ΠΎ основная стихия β€” Ρ€Π°Π±ΠΎΡ‚Π° с Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ списками, структура ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π²Π°ΠΆΠ½Π° ΠΈΠ»ΠΈ динамичСски мСняСтся. ΠœΠ°ΡΡΠΈΠ²Ρ‹ идСально подходят для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈΠ»ΠΈ внСшниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

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

  • πŸ“¦ Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ списка Ρ„Π°ΠΉΠ»ΠΎΠ² для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Ρ†ΠΈΠΊΠ»Π΅.
  • πŸ”„ ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² слоТной структуры Π² сСрвСрныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.
  • πŸ—‚ Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… вычислСний ΠΏΠ΅Ρ€Π΅Π΄ записью Π² рСгистр.

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

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

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

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ использования: ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π’Π°Π±Π»ΠΈΡ†Ρƒ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ являСтся Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ стандартом для формирования Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π±Π°Π·Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°Ρ‚ΡŒΡΡ дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Если Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ запросом ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (ΠΈΠ»ΠΈ сСрвСра 1Π‘), Π·Π°Π³Ρ€ΡƒΠΆΠ°ΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ сразу Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… критичСски Π²Π°ΠΆΠ΅Π½ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°ΠΌΠΈ. ΠšΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊ Π΄Π°Π½Π½Ρ‹Ρ… 1Π‘ (Π‘ΠšΠ”) Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠΊΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π΅ΠΌΡƒ массив ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ ΠΈ услоТнит Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°. Π’Π°ΠΊΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠ° ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ (Excel).

Π’ случаях, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ слоТный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска с нСсколькими условиями (И, Π˜Π›Π˜), Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π² ΠΎΠ΄Π½Ρƒ строку ΠΊΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠžΡ‚Π±ΠΎΡ€. РСализация Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π° массивах ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ»Π°ΡΡŒ Π±Ρ‹ Π² Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ с Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ условиями.

β˜‘οΈ ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½Π° Π’Π°Π±Π»ΠΈΡ†Π° Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

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

Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° характСристик

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

Π₯арактСристика Массив Π’Π°Π±Π»ΠΈΡ†Π° Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Π°Ρ, гибкая Бтрогая, табличная
Доступ ΠΊ элСмСнту По индСксу (число) По ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ
Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Волько Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π² Ρ†ΠΈΠΊΠ»Π΅ ВстроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ Π€ΠΈΠ»ΡŒΡ‚Ρ€()
Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Ручная рСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ВстроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ()
ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ НиТС Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Высокая (ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°)

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ прСдоставляСт Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ инструмСнтарий для манипуляции Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ». Массив ΠΆΠ΅ остаСтся инструмСнтом Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня, Π΄Π°ΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ»Π½ΡƒΡŽ свободу, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌ большС усилий для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ стандартных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘. ВсСгда ΡΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ΡΡŒ с синтаксис-ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠΌ вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Массив Π² Π’Π°Π±Π»ΠΈΡ†Ρƒ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

Π”Π°, это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ написания ΠΊΠΎΠ΄Π°. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π½Π΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ полям структур Π² массивС, Π° Π·Π°Ρ‚Π΅ΠΌ Π² Ρ†ΠΈΠΊΠ»Π΅ пСрСнСсти Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· массива Π² Π½ΠΎΠ²Ρ‹Π΅ строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ конвСртация (ΠΈΠ· Π’Π— Π² массив) выполняСтся Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ строк.

Π§Ρ‚ΠΎ быстрСС: Бписок Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π’Π°Π±Π»ΠΈΡ†Π° Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

Для хранСния простых списков (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ значСния, Π±Π΅Π· Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²) БписокЗначСний ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈ достаточно быстр. Однако для хранСния записСй с нСсколькими полями (Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ) Π’Π°Π±Π»ΠΈΡ†Π° Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Π² ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‡Π΅ΠΌ массив структур ΠΈΠ»ΠΈ список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π’Π°Π±Π»ΠΈΡ†Ρƒ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π² запросС?

Π”Π°, Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π° Π² запрос ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€. Π’ тСкстС запроса ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π°. Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сторонС Π‘Π£Π‘Π” ΠΏΠΎ слоТным спискам, сформированным Π² ΠΊΠΎΠ΄Π΅ 1Π‘.

Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° количСство строк Π² Π’Π°Π±Π»ΠΈΡ†Π΅ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ… Π‘ΠšΠ” нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Массив?

БистСма Компоновки Π”Π°Π½Π½Ρ‹Ρ… (Π‘ΠšΠ”) спроСктирована для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСляционными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π•ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° чСткая схСма ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ для построСния ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°, Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈ ΠΎΡ‚Π±ΠΎΡ€ΠΎΠ². Массив Π½Π΅ прСдоставляСт этой ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² явном Π²ΠΈΠ΄Π΅, поэтому прямоС использованиС массива Π² качСствС источника Π΄Π°Π½Π½Ρ‹Ρ… для Π‘ΠšΠ” Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ.