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

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ массивов Π² 1Π‘ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΈΡ… гибкости: ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π»ΡŽΠ±Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² β€” ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² (числа, строки) Π΄ΠΎ слоТных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (справочники, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹). Однако ΠΈΠΌΠ΅Π½Π½ΠΎ эта Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ часто становится источником ошибок, особСнно Ρƒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². ΠœΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, нСявного привСдСния Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ элСмСнтов, ΠΈ научимся ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массивы, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

1. Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ способы создания массивов Π² 1Π‘

Π’ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 сущСствуСт нСсколько способов ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ массивов. НачнСм с самого простого β€” использования конструктора Новый Массив(). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ унивСрсалСн ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡:

```1c

ΠŸΠ΅Ρ€Π΅ΠΌ мойМассив;

мойМассив = Новый Массив(); // ΠŸΡƒΡΡ‚ΠΎΠΉ массив

```

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ сразу Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ массив Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ элСмСнты Π² конструктор Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ.

  • πŸ”’ Массив с фиксированными элСмСнтами: Новый Массив(1, 2, 3) β€” элСмСнты ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ.
  • πŸ”„ Массив ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ массива: Новый Массив(Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉΠœΠ°ΡΡΠΈΠ²) β€” создаСт копию (Π½ΠΎ Π½Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ!).
  • ⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ создании массива Ρ‡Π΅Ρ€Π΅Π· Новый Массив(Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉΠœΠ°ΡΡΠΈΠ²) ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π° Π½Π΅ сами ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Если Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ элСмСнт Π² Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ, ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ массив Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ, Ссли элСмСнты ΡΠ²Π»ΡΡŽΡ‚ΡΡ ссылками Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, справочники).

    Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ днях Π½Π΅Π΄Π΅Π»ΠΈ) ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Новый Массив(7), Π³Π΄Π΅ 7 β€” это количСство элСмСнтов. ВсС элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ НСопрСдСлСно:

    ```1c

    ΠŸΠ΅Ρ€Π΅ΠΌ дниНСдСли;

    дниНСдСли = Новый Массив(7); // Массив ΠΈΠ· 7 элСмСнтов Ρ‚ΠΈΠΏΠ° "НСопрСдСлСно"

    ```

    2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массивов с использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ()

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

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

    ```1c

    ΠŸΠ΅Ρ€Π΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΉΠœΠ°ΡΡΠΈΠ²;

    Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΉΠœΠ°ΡΡΠΈΠ² = Новый Массив();

    Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΉΠœΠ°ΡΡΠΈΠ².Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт");

    Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΉΠœΠ°ΡΡΠΈΠ².Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(42);

    Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΉΠœΠ°ΡΡΠΈΠ².Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(ВСкущаяДата());

    ```

    Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() всСгда добавляСт элСмСнт Π² ΠΊΠΎΠ½Π΅Ρ† массива. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ элСмСнт Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ():

    ```1c

    Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΉΠœΠ°ΡΡΠΈΠ².Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ(1, "ВставлСнный элСмСнт"); // Вставка Π½Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ (индСкс 1)

    ```

    • βž• Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ†: массив.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(элСмСнт) β€” самый быстрый способ.
    • πŸ”€ Вставка ΠΏΠΎ индСксу: массив.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ(индСкс, элСмСнт) β€” сдвигаСт ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты.
    • 🧹 ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° массива: массив.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ() β€” удаляСт всС элСмСнты, Π½ΠΎ сохраняСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.
    πŸ“Š Какой способ создания массивов Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
    Новый Массив() с элСмСнтами
    ДинамичСскоС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ()
    ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ массива
    Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

    3. ΠœΠ°ΡΡΠΈΠ²Ρ‹ фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ ΠΈΡ… особСнности

    Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив с Π·Π°Ρ€Π°Π½Π΅Π΅ извСстным количСством элСмСнтов. НапримСр, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’ 1Π‘ для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструктор с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°:

    ```1c

    ΠŸΠ΅Ρ€Π΅ΠΌ Π±ΡƒΡ„Π΅Ρ€Π”Π°Π½Π½Ρ‹Ρ…;

    Π±ΡƒΡ„Π΅Ρ€Π”Π°Π½Π½Ρ‹Ρ… = Новый Массив(100); // Массив Π½Π° 100 элСмСнтов

    ```

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

    Для заполнСния массива фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ†ΠΈΠΊΠ» Для:

    ```1c

    Для ΠΈΠ½Π΄ = 0 По Π±ΡƒΡ„Π΅Ρ€Π”Π°Π½Π½Ρ‹Ρ….Π’Π“Ρ€Π°Π½ΠΈΡ†Π°() Π¦ΠΈΠΊΠ»

    Π±ΡƒΡ„Π΅Ρ€Π”Π°Π½Π½Ρ‹Ρ…[ΠΈΠ½Π΄] = ΠΈΠ½Π΄ * 10; // ЗаполняСм значСниями 0, 10, 20..

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

    ```

    ΠœΠ΅Ρ‚ΠΎΠ΄ создания ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
    ΠŸΡƒΡΡ‚ΠΎΠΉ массив Новый Массив() Когда Π·Π°Ρ€Π°Π½Π΅Π΅ нСизвСстно количСство элСмСнтов
    Массив с элСмСнтами Новый Массив(1, "Π°", Π˜ΡΡ‚ΠΈΠ½Π°) Для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… статичСских Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…
    Массив фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Новый Массив(10) Для Π±ΡƒΡ„Π΅Ρ€ΠΎΠ², ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выдСлСния памяти
    ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ массива Новый Массив(ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠœΠ°ΡΡΠΈΠ²) Для создания повСрхностной ΠΊΠΎΠΏΠΈΠΈ
    ⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с массивами фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π΅ ΠΏΡƒΡ‚Π°ΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π’Π“Ρ€Π°Π½ΠΈΡ†Π°() ΠΈ ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ(). ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ индСкс (Π½Π° 1 мСньшС количСства элСмСнтов), Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” ΠΎΠ±Ρ‰Π΅Π΅ количСство элСмСнтов. НапримСр, для массива ΠΈΠ· 5 элСмСнтов Π’Π“Ρ€Π°Π½ΠΈΡ†Π°() Π²Π΅Ρ€Π½Π΅Ρ‚ 4.

    4. Π Π°Π±ΠΎΡ‚Π° с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами

    1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ настоящиС ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы (ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Python ΠΈΠ»ΠΈ C#), Π½ΠΎ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ массивов массивов. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ ΠΈΠ»ΠΈ иСрархичСскими структурами.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива (ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹) 3Γ—3:

    ```1c

    ΠŸΠ΅Ρ€Π΅ΠΌ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°;

    ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° = Новый Массив();

    Для строка = 0 По 2 Π¦ΠΈΠΊΠ»

    ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Новый Массив(3)); // ДобавляСм строку ΠΈΠ· 3 элСмСнтов

    Для столбСц = 0 По 2 Π¦ΠΈΠΊΠ»

    ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°[строка][столбСц] = строка * 3 + столбСц + 1;

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

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

    ```

    Доступ ΠΊ элСмСнтам ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠΉΠ½ΡƒΡŽ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ:

    ```1c

    Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°[1][2]); // Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ 6

    ```

    • πŸ“Š Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы: Массив массивов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚Π°Π±Π»ΠΈΡ† Π΄Π°Π½Π½Ρ‹Ρ…).
    • 🌳 Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ структуры: ΠœΠ°ΡΡΠΈΠ²Ρ‹ с Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ массивами Ρ€Π°Π·Π½ΠΎΠΉ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹.
    • πŸ”„ ДинамичСскоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ размСрности: МоТно Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ/ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ строки ΠΈ столбцы.
    πŸ’‘

    Для удобства Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами создайтС Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. НапримСр: Ѐункция Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ(строки, столбцы).

    5. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ массивов ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ ΠΈ запросов

    Часто Π΄Π°Π½Π½Ρ‹Π΅ для массива бСрутся ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… источников: справочников, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² запросов. Π’ 1Π‘ Π΅ΡΡ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для прСобразования ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Π² массивы.

    НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ массив всСх элСмСнтов справочника НомСнклатура, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

    ```1c

    ΠŸΠ΅Ρ€Π΅ΠΌ массивНомСнклатуры;

    массивНомСнклатуры = Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ();

    Пока массивНомСнклатуры.Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ() Π¦ΠΈΠΊΠ»

    // ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта

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

    ```

    Однако Π±ΠΎΠ»Π΅Π΅ эффСктивный способ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сразу ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π² массив:

    ```1c

    ΠŸΠ΅Ρ€Π΅ΠΌ массивДанных;

    массивДанных = Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ().Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ();

    ```

    ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с запросами Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² массив. НапримСр:

    ```1c

    Запрос = Новый Запрос;

    Запрос.ВСкст = "ВЫБРАВЬ ΠŸΠ΅Ρ€Π²Ρ‹Π΅ 10 НаимСнованиС Π˜Π— Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура";

    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π—Π°ΠΏΡ€ΠΎΡΠ° = Запрос.Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ();

    ΠΌΠ°ΡΡΠΈΠ²Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π—Π°ΠΏΡ€ΠΎΡΠ°.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ();

    ```

    ⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠœΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ() создаСт массив Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. Если Π² Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ нСсколько ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт массива Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ-ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. НапримСр: ΠΌΠ°ΡΡΠΈΠ²Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²[0].НаимСнованиС.

    Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ источник Π΄Π°Π½Π½Ρ‹Ρ… (справочник, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, запрос)

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ() для Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ

    ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ структуру ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (массив строк ΠΈΠ»ΠΈ массив структур)

    ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, пустыС Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ)-->

    6. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

    Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ 1Π‘ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ошибками ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с массивами. Рассмотрим самыС распространСнныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ способы ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ.

    Ошибка 1: Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ массива

    ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ индСксу (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, массив[10] Π² массивС ΠΈΠ· 5 элСмСнтов) 1Π‘ выдаст ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, всСгда провСряйтС Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π’Π“Ρ€Π°Π½ΠΈΡ†Π°():

    ```1c

    Если индСкс <= мойМассив.Π’Π“Ρ€Π°Π½ΠΈΡ†Π°() Π’ΠΎΠ³Π΄Π°

    // БСзопасный доступ

    Π˜Π½Π°Ρ‡Π΅

    Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("ИндСкс Π²Π½Π΅ Π³Ρ€Π°Π½ΠΈΡ† массива!");

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

    ```

    Ошибка 2: нСявноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²

    Если Π² массивС ΡΠΌΠ΅ΡˆΠ°Π½Ρ‹ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, числа ΠΈ строки), 1Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ. НапримСр:

    ```1c

    массив = Новый Массив(10, "20");

    Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = массив[0] + массив[1]; // Π‘ΡƒΠ΄Π΅Ρ‚ "1020" (строка), Π° Π½Π΅ 30 (число)!

    ```

    Ошибка 3: повСрхностноС ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

    ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ массива с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Новый Массив(ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠœΠ°ΡΡΠΈΠ²) ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Если элСмСнты массива β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, справочники), измСнСния Π² ΠΊΠΎΠΏΠΈΠΈ ΠΏΠΎΠ²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π». Для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ копирования Π½ΡƒΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт.

    Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ массива?

    Для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ копирования массива с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ рСкурсивно ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для массива справочников:

    Ѐункция Π“Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠœΠ°ΡΡΠΈΠ²Π°(ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠœΠ°ΡΡΠΈΠ²)

    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Новый Массив();

    Для КаТдого элСмСнт Из ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉΠœΠ°ΡΡΠΈΠ² Π¦ΠΈΠΊΠ»

    Если Π’ΠΈΠΏΠ—Π½Ρ‡(элСмСнт) = Π’ΠΈΠΏ("Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠžΠ±ΡŠΠ΅ΠΊΡ‚.НомСнклатура") Π’ΠΎΠ³Π΄Π°

    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(элСмСнт.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠžΠ±ΡŠΠ΅ΠΊΡ‚());

    Π˜Π½Π°Ρ‡Π΅

    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(элСмСнт);

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

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

    Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚;

    ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

    7. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами

    ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими массивами (тысячи элСмСнтов) Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. НСсколько совСтов для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ:

    • ⚑ ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти: Если извСстно ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎΠ΅ количСство элСмСнтов, создавайтС массив Π·Π°Ρ€Π°Π½Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Новый Массив(Ρ€Π°Π·ΠΌΠ΅Ρ€). Π­Ρ‚ΠΎ сокращаСт количСство пСрСраспрСдСлСний памяти.
    • πŸ” Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Найти() вмСсто Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°: Для поиска элСмСнта Π² массивС ΠΌΠ΅Ρ‚ΠΎΠ΄ Найти() Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС, Ρ‡Π΅ΠΌ Ρ†ΠΈΠΊΠ» Для.
    • πŸ—‘οΈ УдаляйтС Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ элСмСнты: Если массив ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Π±ΡƒΡ„Π΅Ρ€, ΠΎΡ‡ΠΈΡ‰Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ() вмСсто создания Π½ΠΎΠ²ΠΎΠ³ΠΎ.
    • πŸ”„ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ частых вставок Π² Π½Π°Ρ‡Π°Π»ΠΎ массива: КаТдая вставка Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ сдвига всСх элСмСнтов, Ρ‡Ρ‚ΠΎ замСдляСт Ρ€Π°Π±ΠΎΡ‚Ρƒ.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ заполнСния массива:

    ```1c

    // ΠŸΠ»ΠΎΡ…ΠΎ: динамичСскоС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² Ρ†ΠΈΠΊΠ»Π΅

    массив = Новый Массив();

    Для i = 1 По 10000 Π¦ΠΈΠΊΠ»

    массив.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(i); // ΠœΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ пСрСраспрСдСлСниС памяти

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

    // Π₯ΠΎΡ€ΠΎΡˆΠΎ: ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти

    массив = Новый Массив(10000);

    Для i = 0 По 9999 Π¦ΠΈΠΊΠ»

    массив[i] = i + 1; // Π‘Π΅Π· пСрСраспрСдСлСний

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

    ```

    πŸ’‘

    Для массивов Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ 1000 элСмСнтов ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти (Новый Массив(Ρ€Π°Π·ΠΌΠ΅Ρ€)) ускоряСт Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² 2-3 Ρ€Π°Π·Π° ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с динамичСским Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ.

    8. ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ: массивы структур ΠΈ соотвСтствий

    Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со слоТными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ массивы, содСрТащиС Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈΠ»ΠΈ БоотвСтствиС. Π­Ρ‚ΠΎ позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ доступ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ массива структур для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π°Ρ…:

    ```1c

    ΠŸΠ΅Ρ€Π΅ΠΌ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹;

    Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ = Новый Массив();

    новаяБтруктура = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("НаимСнованиС, Π¦Π΅Π½Π°, ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ");

    новаяБтруктура.НаимСнованиС = "Ноутбук";

    новаяБтруктура.Π¦Π΅Π½Π° = 50000;

    новаяБтруктура.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = 10;

    Ρ‚ΠΎΠ²Π°Ρ€Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(новаяБтруктура);

    новаяБтруктура = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("НаимСнованиС, Π¦Π΅Π½Π°, ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ");

    новаяБтруктура.НаимСнованиС = "Π‘ΠΌΠ°Ρ€Ρ‚Ρ„ΠΎΠ½";

    новаяБтруктура.Π¦Π΅Π½Π° = 30000;

    новаяБтруктура.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = 20;

    Ρ‚ΠΎΠ²Π°Ρ€Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(новаяБтруктура);

    ```

    Доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π² Ρ‚Π°ΠΊΠΎΠΌ массивС осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· индСкс ΠΈ ΠΊΠ»ΡŽΡ‡:

    ```1c

    Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Ρ‚ΠΎΠ²Π°Ρ€Ρ‹[0].НаимСнованиС); // Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ "Ноутбук"

    ```

    ΠœΠ°ΡΡΠΈΠ²Ρ‹ соотвСтствий ΡƒΠ΄ΠΎΠ±Π½Ρ‹ для хранСния ΠΏΠ°Ρ€ "ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅" с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ быстрого поиска:

    ```1c

    ΠŸΠ΅Ρ€Π΅ΠΌ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒΠ’ΠΎΠ²Π°Ρ€ΠΎΠ²;

    ΡΠ»ΠΎΠ²Π°Ρ€ΡŒΠ’ΠΎΠ²Π°Ρ€ΠΎΠ² = Новый Массив();

    ΡΠ»ΠΎΠ²Π°Ρ€ΡŒΠ’ΠΎΠ²Π°Ρ€ΠΎΠ².Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Новый БоотвСтствиС("Код, НаимСнованиС"));

    // ДобавляСм элСмСнты

    ΡΠ»ΠΎΠ²Π°Ρ€ΡŒΠ’ΠΎΠ²Π°Ρ€ΠΎΠ²[0].Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("001", "Ноутбук");

    ΡΠ»ΠΎΠ²Π°Ρ€ΡŒΠ’ΠΎΠ²Π°Ρ€ΠΎΠ²[0].Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("002", "Π‘ΠΌΠ°Ρ€Ρ‚Ρ„ΠΎΠ½");

    // Поиск ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ

    Если ΡΠ»ΠΎΠ²Π°Ρ€ΡŒΠ’ΠΎΠ²Π°Ρ€ΠΎΠ²[0].ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ("001") <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

    Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("НайдСн Ρ‚ΠΎΠ²Π°Ρ€: " + ΡΠ»ΠΎΠ²Π°Ρ€ΡŒΠ’ΠΎΠ²Π°Ρ€ΠΎΠ²[0].ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ("001"));

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

    ```

    ⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π”Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅. Для критичСских Π·Π°Π΄Π°Ρ‡ провСряйтС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² своСй вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, особСнно ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π΅Π»ΠΈΠ·Ρ‹.

    FAQ: ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° частыС вопросы

    Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив ΠΈΠ· элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹?

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ массив элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, всСх ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π°), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹:

    
    

    массивЭлСмСнтов = Новый Массив();

    Для КаТдого элСмСнт Из Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹ Π¦ΠΈΠΊΠ»

    массивЭлСмСнтов.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(элСмСнт);

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

    Если Π½ΡƒΠΆΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ элСмСнты ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΠΎΠ»Π΅Π’Π²ΠΎΠ΄Π°), Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ‚ΠΈΠΏΠ°:

    
    

    Если Π’ΠΈΠΏΠ—Π½Ρ‡(элСмСнт) = Π’ΠΈΠΏ("ΠŸΠΎΠ»Π΅Π’Π²ΠΎΠ΄Π°") Π’ΠΎΠ³Π΄Π°

    массивЭлСмСнтов.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(элСмСнт);

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

    МоТно Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив с автоматичСским ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°?

    Π’ 1Π‘ Π½Π΅Ρ‚ встроСнных "динамичСских массивов" (ΠΊΠ°ΠΊ ArrayList Π² Java), Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, создавая Π½ΠΎΠ²Ρ‹ΠΉ массив большСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

    
    

    ΠŸΠ΅Ρ€Π΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΉΠœΠ°ΡΡΠΈΠ², Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉΠ Π°Π·ΠΌΠ΅Ρ€, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ Π°Π·ΠΌΠ΅Ρ€;

    Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉΠ Π°Π·ΠΌΠ΅Ρ€ = 10;

    Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ Π°Π·ΠΌΠ΅Ρ€ = 0;

    Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΉΠœΠ°ΡΡΠΈΠ² = Новый Массив(Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉΠ Π°Π·ΠΌΠ΅Ρ€);

    ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚(Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)

    Если Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ Π°Π·ΠΌΠ΅Ρ€ >= Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉΠ Π°Π·ΠΌΠ΅Ρ€ Π’ΠΎΠ³Π΄Π°

    Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉΠ Π°Π·ΠΌΠ΅Ρ€ = Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉΠ Π°Π·ΠΌΠ΅Ρ€ * 2;

    ΠΠΎΠ²Ρ‹ΠΉΠœΠ°ΡΡΠΈΠ² = Новый Массив(Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉΠ Π°Π·ΠΌΠ΅Ρ€);

    Для i = 0 По Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ Π°Π·ΠΌΠ΅Ρ€ - 1 Π¦ΠΈΠΊΠ»

    ΠΠΎΠ²Ρ‹ΠΉΠœΠ°ΡΡΠΈΠ²[i] = Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΉΠœΠ°ΡΡΠΈΠ²[i];

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

    Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΉΠœΠ°ΡΡΠΈΠ² = ΠΠΎΠ²Ρ‹ΠΉΠœΠ°ΡΡΠΈΠ²;

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

    Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΉΠœΠ°ΡΡΠΈΠ²[Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ Π°Π·ΠΌΠ΅Ρ€] = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;

    Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ Π°Π·ΠΌΠ΅Ρ€ = Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ Π°Π·ΠΌΠ΅Ρ€ + 1;

    ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

    Как ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив Π² 1Π‘?

    Для сортировки массива ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ() с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ направлСния (НаправлСниСБортировки.Π’ΠΎΠ·Ρ€ ΠΈΠ»ΠΈ НаправлСниСБортировки.Π£Π±Ρ‹Π²). ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

    
    

    массивЧисСл = Новый Массив(5, 1, 8, 3);

    массивЧисСл.Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ(НаправлСниСБортировки.Π’ΠΎΠ·Ρ€); // По Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ

    Для сортировки массива структур ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠŸΠΎΠšΠ»ΡŽΡ‡Ρƒ():

    
    

    массивБтруктур.Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠŸΠΎΠšΠ»ΡŽΡ‡Ρƒ("Π¦Π΅Π½Π°", НаправлСниСБортировки.Π£Π±Ρ‹Π²);

    Π§Π΅ΠΌ массив отличаСтся ΠΎΡ‚ списка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

    ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ различия:

    • Массив β€” низкоуровнСвая структура Π΄Π°Π½Π½Ρ‹Ρ…, оптимизированная для быстрого доступа ΠΏΠΎ индСксу. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΡŽΠ±Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с дублями ΠΈΠ»ΠΈ поиска.
    • БписокЗначСний β€” высокоуровнСвый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ возмоТностями: ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ дублями, поиск, сортировка, события. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ массива, Π½ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ для интСрфСйсных Π·Π°Π΄Π°Ρ‡.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания БпискаЗначСний:

    
    

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

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

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

    Как ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ массив Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ?

    ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² 1Π‘ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ссылкС, поэтому измСнСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ отразятся Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ массивС. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

    
    

    ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΠœΠ°ΡΡΠΈΠ²(массив)

    Для i = 0 По массив.Π’Π“Ρ€Π°Π½ΠΈΡ†Π°() Π¦ΠΈΠΊΠ»

    массив[i] = массив[i] * 2; // Π£Π΄Π²ΠΎΠΈΠΌ всС элСмСнты

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

    ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

    // ИспользованиС

    Π΄Π°Π½Π½Ρ‹Π΅ = Новый Массив(1, 2, 3);

    ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΠœΠ°ΡΡΠΈΠ²(Π΄Π°Π½Π½Ρ‹Π΅);

    // Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ = [2, 4, 6]

    Если Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π°, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ копию массива:

    
    

    ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΠœΠ°ΡΡΠΈΠ²(Новый Массив(ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉΠœΠ°ΡΡΠΈΠ²));