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

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π² 1Π‘ β€” это коллСкция массивов, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня сам являСтся массивом, ΠΈ научимся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡ… ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠœΡ‹ рассмотрим Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ сцСнарии использования, ΠΎΡ‚ формирования ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π΄ΠΎ слоТной матСматичСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈ сравним этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ с Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΡΠ½ΠΎΠ²Ρ‹ структуры ΠΈ объявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π’ языкС запросов ΠΈ встроСнном языкС 1Π‘ понятиС"Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив" рСализуСтся Ρ‡Π΅Ρ€Π΅Π· Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ. По сути, Π²Ρ‹ создаСтС ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Массив, Π½ΠΎ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ»Π°ΡΡ‚ΡŒ Ρ‚ΡƒΠ΄Π° числа ΠΈΠ»ΠΈ строки, Π²Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅ Ρ‚ΡƒΠ΄Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ массивы. Π­Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ структуру, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ строки ΠΈ столбцы.

Для объявлСния Ρ‚Π°ΠΊΠΎΠΉ структуры Π½Π΅ трСбуСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ объявлСния ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ массива. Достаточно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Массив ΠΈ Π½Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ элСмСнтами Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°.

Рассмотрим Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис создания ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ 3x3. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ для формирования строк, Π° Π·Π°Ρ‚Π΅ΠΌ наполняСм ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку значСниями. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ наглядСн для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

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

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку

Π‘Ρ‚Ρ€ΠΎΠΊΠ°1 = Новый Массив;

Π‘Ρ‚Ρ€ΠΎΠΊΠ°1.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(10);

Π‘Ρ‚Ρ€ΠΎΠΊΠ°1.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(20);

Π‘Ρ‚Ρ€ΠΎΠΊΠ°1.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(30);

Массив2D.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°1);

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΡƒΡŽ строку

Π‘Ρ‚Ρ€ΠΎΠΊΠ°2 = Новый Массив;

Π‘Ρ‚Ρ€ΠΎΠΊΠ°2.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(40);

Π‘Ρ‚Ρ€ΠΎΠΊΠ°2.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(50);

Π‘Ρ‚Ρ€ΠΎΠΊΠ°2.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(60);

Массив2D.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°2);

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² ячСйках ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ: числа, строки, Π΄Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚Π° Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ Массив ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ инструмСнтом, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ программиста строгого контроля Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок выполнСния.

πŸ’‘

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

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

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

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

  • πŸ”Ή ΠŸΠΎΡΡ‚Ρ€ΠΎΡ‡Π½ΠΎΠ΅ созданиС: ИдСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° структура сильно Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‚ строки ΠΊ строкС.
  • πŸ”Ή ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Установка свойства ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Ρ†ΠΈΠΊΠ»ΠΎΠΌ заполнСния ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с тысячами записСй.
  • πŸ”Ή ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ структур: МоТно ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ шаблон строки, Ссли всС строки Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽΠ½ΡƒΡŽ структуру Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ присваиваСтС ΠΎΠ΄Π½Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ-массив Π΄Ρ€ΡƒΠ³ΠΎΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘Ρ‚Ρ€ΠΎΠΊΠ°2 = Π‘Ρ‚Ρ€ΠΎΠΊΠ°1), Π²Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ссылку, Π° Π½Π΅ Π΄Π°Π½Π½Ρ‹Π΅. ИзмСнСниС элСмСнта Π² Π‘Ρ‚Ρ€ΠΎΠΊΠ°2 ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ Π΅Π³ΠΎ ΠΈ Π² Π‘Ρ‚Ρ€ΠΎΠΊΠ°1. Для создания нСзависимой ΠΊΠΎΠΏΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Массив.Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ. Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ часто встрСчаСтся Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² для Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΎΠΊ Π² Ρ„Π°ΠΉΠ»Ρ‹.

Π Π°Π·ΠΌΠ΅Ρ€Π‘Ρ‚Ρ€ΠΎΠΊ = 5;

Π Π°Π·ΠΌΠ΅Ρ€Π‘Ρ‚ΠΎΠ»Π±Ρ†ΠΎΠ² = 3;

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° = Новый Массив(Π Π°Π·ΠΌΠ΅Ρ€Π‘Ρ‚Ρ€ΠΎΠΊ);

Для Π‘Ρ‡Π‘Ρ‚Ρ€ΠΎΠΊ = 0 По Π Π°Π·ΠΌΠ΅Ρ€Π‘Ρ‚Ρ€ΠΎΠΊ - 1 Π¦ΠΈΠΊΠ»

НоваяБтрока = Новый Массив(Π Π°Π·ΠΌΠ΅Ρ€Π‘Ρ‚ΠΎΠ»Π±Ρ†ΠΎΠ²);

// ЗаполняСм нулями

Для Π‘Ρ‡Π‘Ρ‚ΠΎΠ»Π±Ρ†ΠΎΠ² = 0 По Π Π°Π·ΠΌΠ΅Ρ€Π‘Ρ‚ΠΎΠ»Π±Ρ†ΠΎΠ² - 1 Π¦ΠΈΠΊΠ»

НоваяБтрока[Π‘Ρ‡Π‘Ρ‚ΠΎΠ»Π±Ρ†ΠΎΠ²] = 0;

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

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π°[Π‘Ρ‡Π‘Ρ‚Ρ€ΠΎΠΊ] = НоваяБтрока;

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

β˜‘οΈ ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ инициализация массива

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

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ элСмСнтов массива

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

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

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ доступ ΠΊ индСксам элСмСнтов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для удалСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ячСйки ΠΈΠ»ΠΈ знания ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅), использованиС Ρ†ΠΈΠΊΠ»Π° ΠΏΠΎ индСксам Для Π‘Ρ‡ = 0 По Массив.Π’Π“Ρ€Π°Π½ΠΈΡ†Π° становится ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠœΠ΅Ρ‚ΠΎΠ΄ Π’Π“Ρ€Π°Π½ΠΈΡ†Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс послСднСго элСмСнта, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π°.

πŸ“Š Какой способ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° массивов Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
Π¦ΠΈΠΊΠ»"Для КаТдого"
Π¦ΠΈΠΊΠ» ΠΏΠΎ индСксам"Для.. По"
ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ поиска (Найти)
Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ запроса ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Допустим, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ всС числовыС значСния Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ Π½Π° 10%.

Для КаТдого Π‘Ρ‚Ρ€ΠΎΠΊΠ°ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Из ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π° Π¦ΠΈΠΊΠ»

Для КаТдого Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Из Π‘Ρ‚Ρ€ΠΎΠΊΠ°ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π¦ΠΈΠΊΠ»

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚) = Π’ΠΈΠΏ("Число") Π’ΠΎΠ³Π΄Π°

ИндСкс = Π‘Ρ‚Ρ€ΠΎΠΊΠ°ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.Найти(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚);

Π‘Ρ‚Ρ€ΠΎΠΊΠ°ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹[ИндСкс] = Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ * 1.1;

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

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

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

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ поиск индСкса Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΏΠΎ значСниям (Найти) ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π»ΡƒΡ‡ΡˆΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ индСксы сразу Π²ΠΎ внСшнСм Ρ†ΠΈΠΊΠ»Π΅.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ с Π’Π°Π±Π»ΠΈΡ†Π΅ΠΉ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Часто Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠ»Π΅ΠΌΠΌΠ°: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π’Π°Π±Π»ΠΈΡ†Π° Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Оба инструмСнта ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² памяти, Π½ΠΎ ΠΈΡ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ возмоТности сущСствСнно Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ.

Π’Π°Π±Π»ΠΈΡ†Π° Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. ΠŸΡ€ΠΈ создании Π²Ρ‹ опрСдСляСтС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ систСма сама ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ"Π¦Π΅Π½Π°" Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ строка"Иванов". Π’ массивах ΠΆΠ΅ Π²Ρ‹ сами ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚Π΅ Π·Π° соблюдСниС Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ².

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

Π₯арактСристика Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Массив Π’Π°Π±Π»ΠΈΡ†Π° Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Массив массивов (индСксы) Колонки с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ
Випизация ДинамичСская (любой Ρ‚ΠΈΠΏ Π² ячСйкС) Бтрогая (ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ)
ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ записи Высокая (ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов) БрСдняя (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈ вставкС)
Удобство чтСния НизкоС (Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ индСкс ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ) ВысокоС (ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ)

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

Когда стоит ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ с массивов Π½Π° Π’Π°Π±Π»ΠΈΡ†Ρƒ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

Если объСм Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ нСсколько тысяч строк ΠΈ трСбуСтся частый поиск ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ полям ΠΈΠ»ΠΈ сортировка, Π’Π°Π±Π»ΠΈΡ†Π° Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ прСдоставит Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ИндСкс ΠΈ Поиск.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈ поиск Π² ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… структурах

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Массив Π² 1Π‘ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с содСрТимым. Π’ Π½Π΅ΠΌ Π½Π΅Ρ‚ встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сортировки ΠΏΠΎ значСниям Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… массивов, ΠΊΠ°ΠΊ это Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² Π’Π°Π±Π»ΠΈΡ†Π΅ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠœΠ΅Ρ‚ΠΎΠ΄ Массив.Найти ΠΈΡ‰Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ совпадСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Если Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ массив Π²Π½ΡƒΡ‚Ρ€ΠΈ массива, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π΅ΠΌ ΠΆΠ΅ самым ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π² памяти. Поиск ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ элСмСнтов Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… массивов стандартными срСдствами Π½Π΅ поддСрТиваСтся.

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

НайдСно = Π›ΠΎΠΆΡŒ;

Для Π‘Ρ‡Π‘Ρ‚Ρ€ = 0 По ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π°.Π’Π“Ρ€Π°Π½ΠΈΡ†Π° Π¦ΠΈΠΊΠ»

Для Π‘Ρ‡ΠšΠΎΠ» = 0 По ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π°[Π‘Ρ‡Π‘Ρ‚Ρ€].Π’Π“Ρ€Π°Π½ΠΈΡ†Π° Π¦ΠΈΠΊΠ»

Если ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π°[Π‘Ρ‡Π‘Ρ‚Ρ€][Π‘Ρ‡ΠšΠΎΠ»] = Π˜ΡΠΊΠΎΠΌΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π’ΠΎΠ³Π΄Π°

НайдСно = Π˜ΡΡ‚ΠΈΠ½Π°;

ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ;

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

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

Если НайдСно Π’ΠΎΠ³Π΄Π° ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ; ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

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

πŸ’‘

Для слоТной Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (сортировка, Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ°, ΠΎΡ‚Π±ΠΎΡ€) всСгда ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ массивы Π² Π’Π°Π±Π»ΠΈΡ†Ρƒ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” встроСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ 1Π‘ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Π½ΠΈΠΌΠΈ Π½Π° порядок быстрСС Ρ€ΡƒΡ‡Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ оптимизация памяти

Π Π°Π±ΠΎΡ‚Π° с динамичСской ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π² 1Π‘ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Одна ΠΈΠ· самых частых ошибок β€” созданиС"тяТСлых" ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² Π±Π΅Π· нСобходимости. Π₯отя сборщик мусора 1Π‘ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ автоматичСски, созданиС ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… массивов Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΎΡ‰ΡƒΡ‚ΠΈΠΌΡ‹ΠΌ Ρ‚ΠΎΡ€ΠΌΠΎΠ·Π°ΠΌ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ массива. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ элСмСнту с индСксом, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠΌ Π’Π“Ρ€Π°Π½ΠΈΡ†Π°, Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π˜Π½Π΄Π΅ΠΊΡΠ—Π°Π“Ρ€Π°Π½ΠΈΡ†Π΅ΠΉΠœΠ°ΡΡΠΈΠ²Π°. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, 1Π‘ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ null, Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Ссли ошибка Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π°.

  • πŸ”» Ошибка Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ: ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄, спСцифичный для числа, Ρƒ элСмСнта, содСрТащСго строку.
  • πŸ”» Π£Ρ‚Π΅Ρ‡ΠΊΠ° ссылок: Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ссылок Π½Π° большиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… массивах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΎΡ‡ΠΈΡ‰Π°ΡŽΡ‚ΡΡ послС использования.
  • πŸ”» НСэффСктивноС ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… структур Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΌ, Π³Π΄Π΅ достаточно ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ссылку.

Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ»ΠΎΠ². Если ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ вынСсСния Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π° сСрвСр ΠΈΠ»ΠΈ использования ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ для массивов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ большС Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ Π² Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡƒΡ‰ΠΈΡ… сСансах.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ 1Π‘ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром ΠΏΠΎ сСти являСтся дорогостоящСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ массивы Π½Π° Ρ‚ΠΎΠΉ сторонС, Π³Π΄Π΅ это Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ лишнСго сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°.

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

МоТно Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π² 1Π‘?

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

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ количСство строк ΠΈ столбцов Π² Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΌ массивС?

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ строк Ρ€Π°Π²Π½ΠΎ свойству Массив.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ (ΠΈΠ»ΠΈ Π’Π“Ρ€Π°Π½ΠΈΡ†Π° + 1). ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ столбцов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ 1Π‘ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚"Π·ΡƒΠ±Ρ‡Π°Ρ‚Ρ‹Π΅" массивы. Для получСния количСства элСмСнтов Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ строкС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Массив[Π˜Π½Π΄Π΅ΠΊΡΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ].ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Массивом ΠΈ Бписком Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

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

Как ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ?

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ссылкС. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ содСрТимоС массива Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, эти измСнСния сохранятся ΠΈ Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΊΠΎΠ΄Π΅. Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠΏΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ имя вмСсто индСкса Π² массивС 1Π‘?

НСт, стандартный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Массив Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с числовыми индСксами. Если Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ элСмСнтам ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ (ΠΊΠ»ΡŽΡ‡Π°ΠΌ), слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈΠ»ΠΈ БоотвСтствиС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ассоциативныС массивы.