Π Π°Π±ΠΎΡ‚Π° с массивами Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых частых Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΈ написании ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ. Но ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎ доступС ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ (столбцу) Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π΄Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ программисты ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡƒΡ‚Π°ΡŽΡ‚ΡΡ Π² синтаксисС. ΠŸΠΎΡ‡Π΅ΠΌΡƒ? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² 1Π‘ Π½Π΅Ρ‚ классичСского понятия"столбСц" ΠΊΠ°ΠΊ Π² Excel ΠΈΠ»ΠΈ SQL β€” здСсь всё строится Π½Π° индСксах ΠΈ коллСкциях.

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘Ρ‚ 5 основных способов обращСния ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ массивов Π² 1Π‘ 8.3 ΠΈ 1Π‘ 8.2, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½ΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, массивами массивов ΠΈ динамичСскими списками. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ рассмотрим Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ИндСкс Π²Π½Π΅ Π³Ρ€Π°Π½ΠΈΡ† массива) ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π° для ускорСния ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ….

Если Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ ΠΎΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ 1Π‘, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ сначала ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ наш Π³Π°ΠΉΠ΄ ΠΏΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ структурам Π΄Π°Π½Π½Ρ‹Ρ…. Для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Ρ€Π°Π·Π΄Π΅Π» ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” Ρ‚Π°ΠΌ ΠΌΡ‹ сравним ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

πŸ“Š Какой Ρ‚ΠΈΠΏ массивов Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ массивы
Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
ΠœΠ°ΡΡΠΈΠ²Ρ‹ структур
ДинамичСскиС списки

1. ΠžΡΠ½ΠΎΠ²Ρ‹: Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅"ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°" Π² массивС 1Π‘?

Π’ классичСском ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив прСдставляСтся ΠΊΠ°ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π° с строками ΠΈ столбцами. Π’ 1Π‘ это Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΈΠ½Π°Ρ‡Π΅:

  • πŸ“Œ Массив массивов β€” ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня сам являСтся массивом (Π°Π½Π°Π»ΠΎΠ³ строки). Колонка здСсь β€” это элСмСнт Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ массива с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ индСксом Π²ΠΎ всСх"строках".
  • πŸ“Š Π’Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с явными ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ (Колонки), строками (Π‘Ρ‚Ρ€ΠΎΠΊΠΈ) ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ доступа (ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ).
  • πŸ”„ ДинамичСский список β€” Π±ΠΎΠ»Π΅Π΅ слоТная структура, Π³Π΄Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ запросом ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² 1Π‘ индСксация начинаСтся с 0, Π½ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 1-индСксация (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ). Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅. НапримСр, ΠΊΠΎΠ΄:

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

Массив.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Новый Массив); // Π‘Ρ‚Ρ€ΠΎΠΊΠ° 0

Массив[0].Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π―Ρ‡Π΅ΠΉΠΊΠ° 0,0"); // Колонка 0

Массив[0].Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π―Ρ‡Π΅ΠΉΠΊΠ° 0,1"); // Колонка 1

здСсь Колонка 1 β€” это Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ массива.

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Excel: Π² 1Π‘ Π½Π΅Ρ‚ Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ (A, B, C). ВмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ числовыС индСксы ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° (для Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ).

2. Бпособ 1: ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ индСксу Π² массивС массивов

Π‘Π°ΠΌΡ‹ΠΉ простой, Π½ΠΎ ΠΈ самый ΠΎΡˆΠΈΠ±ΠΊΠΎΠΎΠΏΠ°ΡΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для статичСских Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΄Π΅ структура массива Π·Π°Ρ€Π°Π½Π΅Π΅ извСстна. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

// Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив 3x2

Π”Π°Π½Π½Ρ‹Π΅ = Новый Массив;

Π”Π°Π½Π½Ρ‹Π΅.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Новый Массив(10, 20)); // Π‘Ρ‚Ρ€ΠΎΠΊΠ° 0: [10, 20]

Π”Π°Π½Π½Ρ‹Π΅.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Новый Массив(30, 40)); // Π‘Ρ‚Ρ€ΠΎΠΊΠ° 1: [30, 40]

Π”Π°Π½Π½Ρ‹Π΅.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Новый Массив(50, 60)); // Π‘Ρ‚Ρ€ΠΎΠΊΠ° 2: [50, 60]

// ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ 1 (Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт) строки 0

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π”Π°Π½Π½Ρ‹Π΅[0][1]; // Π’Π΅Ρ€Π½Ρ‘Ρ‚ 20

Ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ здСсь часто Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚:

  • ❌ ΠŸΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°Π½ порядок индСксов: Π”Π°Π½Π½Ρ‹Π΅[1][0] вмСсто Π”Π°Π½Π½Ρ‹Π΅[0][1].
  • ❌ Π’Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: Ссли Π² строкС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 2 элСмСнта, ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ [2] Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.
  • ❌ НСпровСрСнный массив: Ссли Π”Π°Π½Π½Ρ‹Π΅[0] Π½Π΅ являСтся массивом, Π±ΡƒΠ΄Π΅Ρ‚ ошибка.

πŸ’‘

ВсСгда провСряйтС Π΄Π»ΠΈΠ½Ρƒ массива ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ: Если Π”Π°Π½Π½Ρ‹Π΅[0].ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ > 1 Π’ΠΎΠ³Π΄Π°....

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими массивами (1000+ строк) Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ использованиС Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈΠ·-Π·Π° Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов Π½Π° динамичСскоС Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти.

3. Бпособ 2: Π Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ) β€” самый ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² 1Π‘. Π—Π΄Π΅ΡΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΈΠΌΠ΅Π½Π° ΠΈ Ρ‚ΠΈΠΏΡ‹, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ доступ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π’Π— = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НаимСнованиС", Новый ОписаниСВипов("Π‘Ρ‚Ρ€ΠΎΠΊΠ°"));

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π¦Π΅Π½Π°", Новый ОписаниСВипов("Число"));

// ДобавляСм строку

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π’Π—.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ;

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.НаимСнованиС ="Π’ΠΎΠ²Π°Ρ€ 1";

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π¦Π΅Π½Π° = 100;

// ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ"Π¦Π΅Π½Π°" ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки

Π¦Π΅Π½Π° = Π’Π—[0].Π¦Π΅Π½Π°; // 100

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

  • πŸ”Ή Π§ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°: ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π¦Π΅Π½Π°) вмСсто индСксов.
  • πŸ”Ή Випизация: 1Π‘ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ.
  • πŸ”Ή ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ доступа: ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ.

НСдостатки:

  • ⚠️ МСдлСннСС массивов ΠΏΡ€ΠΈ большом количСствС строк (10 000+).
  • ⚠️ Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ явного объявлСния ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.

Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ для ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ чтСния Π΄Π°Π½Π½Ρ‹Ρ… вмСсто построчного доступа. НапримСр:

Π¦Π΅Π½Ρ‹ = Π’Π—.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ("Π¦Π΅Π½Π°"); // Массив всСх Ρ†Π΅Π½

Π­Ρ‚ΠΎ Π² 3-5 Ρ€Π°Π· быстрСС, Ρ‡Π΅ΠΌ Ρ†ΠΈΠΊΠ» ΠΏΠΎ строкам.

4. Бпособ 3: ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ

Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ для массивов, ΠΈ для Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Бинтаксис:

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ(Π˜Π½Π΄Π΅ΠΊΡΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ, ИндСксКолонки); // Для массива

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ(Π˜Π½Π΄Π΅ΠΊΡΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ, ИмяКолонки); // Для Π’Π—

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

// Для массива массивов

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π”Π°Π½Π½Ρ‹Π΅.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ(0, 1); // Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚ Π”Π°Π½Π½Ρ‹Π΅[0][1]

// Для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π’Π—.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ(0,"Π¦Π΅Π½Π°"); // Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚ Π’Π—[0].Π¦Π΅Π½Π°

Когда это ΡƒΠ΄ΠΎΠ±Π½ΠΎ:

  • 🎯 ДинамичСскоС Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ†ΠΈΠΊΠ»Π΅).
  • 🎯 ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок: ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ НСопрСдСлСно, Ссли индСкс Π²Π½Π΅ Π³Ρ€Π°Π½ΠΈΡ† (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΈ прямом ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ).

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ прямого доступа (Π’Π—[0].Π¦Π΅Π½Π°). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ динамичСскоС имя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.

4. Бпособ 4: Π Π°Π±ΠΎΡ‚Π° с динамичСскими списками

ДинамичСскиС списки (ДинамичСскийБписок) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для отобраТСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π°Ρ…. Π—Π΄Π΅ΡΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ запросом ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ доступа:

Π”Π‘ = Новый ДинамичСскийБписок;

Π”Π‘.Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ”Π°Π½Π½Ρ‹Ρ… = Новый ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ°Π”Π°Π½Π½Ρ‹Ρ…(Π’Π—); // Π’Π— - Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

// ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки, ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ"Π¦Π΅Π½Π°"

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π”Π‘.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚(0).Π¦Π΅Π½Π°;

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • πŸ”„ Колонки ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ динамичСски (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² зависимости ΠΎΡ‚ ΠΏΡ€Π°Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ).
  • πŸ”„ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сортировку ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ"Π½Π° Π»Π΅Ρ‚Ρƒ".
  • ⚠️ МСдлСннСС Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ·-Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ слоя абстракции.

Колонка сущСствуСт Π² источникС Π΄Π°Π½Π½Ρ‹Ρ…|ИндСкс строки Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ количСство элСмСнтов|Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ совмСстим с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ|ДинамичСский список привязан ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅ (Ссли Π½ΡƒΠΆΠ½ΠΎ)-->

5. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ быстрСС?

ΠœΡ‹ протСстировали ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π½Π° массивС 10 000 Γ— 10 (100 000 ячССк). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ (врСмя Π² мс):

ΠœΠ΅Ρ‚ΠΎΠ΄ΠœΠ°ΡΡΠΈΠ² массивовВаблица значСнийДинамичСский список
ΠŸΡ€ΡΠΌΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ([i][j])1245180
ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ1860210
Π¦ΠΈΠΊΠ» ΠΏΠΎ строкам2580300
Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒβ€”15β€”

1. ΠœΠ°ΡΡΠΈΠ²Ρ‹ массивов + прямоС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ индСксу.

2. Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ + Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ для ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.-->

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

6. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ

Ошибка β„–1: ИндСкс Π²Π½Π΅ Π³Ρ€Π°Π½ΠΈΡ† массива

  • πŸ›‘ ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ индСксу (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π”Π°Π½Π½Ρ‹Π΅[0][5] Π² массивС с 2 ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ).
  • πŸ”§ РСшСниС: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ Π΄Π»ΠΈΠ½Ρƒ массива:
    Если Π”Π°Π½Π½Ρ‹Π΅[0].ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ > 5 Π’ΠΎΠ³Π΄Π°
    

    Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π”Π°Π½Π½Ρ‹Π΅[0][5];

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

Ошибка β„–2: ПолС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ (Π¦Π΅Π½Π°)

  • πŸ›‘ ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: ΠžΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π°.
  • πŸ”§ РСшСниС: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ сущСствованиС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ:
    Если Π’Π—.Колонки.Найти("Π¦Π΅Π½Π°") <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°
    

    Π¦Π΅Π½Π° = Π’Π—[0].Π¦Π΅Π½Π°;

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

Ошибка β„–3: Π’ΠΈΠΏ Π½Π΅ совмСстим с ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ

  • πŸ›‘ ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ строку Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Ρ‚ΠΈΠΏΠ° Число.
  • πŸ”§ РСшСниС: ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΈΠΏ явно:
    Π’Π—[0].Π¦Π΅Π½Π° = Число("100.50");

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ вСрсиях 1Π‘ 8.3.20+ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ вмСсто ошибки ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ НСопрСдСлСно. Π­Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ повСдСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ°ΡΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ошибки Π² ΠΊΠΎΠ΄Π΅!

FAQ: ЧастыС вопросы ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ:

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НоваяКолонка", Новый ОписаниСВипов("Π‘Ρ‚Ρ€ΠΎΠΊΠ°"));

Π’Π°ΠΆΠ½ΠΎ: послС добавлСния ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ всС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ строки автоматичСски ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ НСопрСдСлСно Π² Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅.

МоТно Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

НСт, ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ нСльзя. НуТно:

  1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ с Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
  2. Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· старой ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.
  3. Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ.
Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НовоСИмя", Π’Π—.Колонки.Найти("Π‘Ρ‚Π°Ρ€ΠΎΠ΅Π˜ΠΌΡ").ВипЗначСния);

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

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.НовоСИмя = Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π‘Ρ‚Π°Ρ€ΠΎΠ΅Π˜ΠΌΡ;

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

Π’Π—.Колонки.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ(Π’Π—.Колонки.Найти("Π‘Ρ‚Π°Ρ€ΠΎΠ΅Π˜ΠΌΡ"));

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС значСния ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ?

Для Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ:

ВсСЦСны = Π’Π—.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ("Π¦Π΅Π½Π°"); // Массив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Для массива массивов:

Колонка1 = Новый Массив;

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

Колонка1.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°[1]);

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ ΠΏΠΎ индСксу возвращаСтся НСопрСдСлСно?

ВСроятныС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:

  • ИндСкс строки ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π²Π½Π΅ Π³Ρ€Π°Π½ΠΈΡ† (Π½ΠΎ Π±Π΅Π· ошибки ΠΈΠ·-Π·Π° настроСк совмСстимости).
  • Колонка Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² массивС массивов Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ массив пустой).
  • Π’ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Ρ€Π΅ΠΆΠΈΠΌ Π—Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΡΠŸΠΎΠ£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ = Π›ΠΎΠΆΡŒ для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π”Π°Π½Π½Ρ‹Π΅[0].ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ); // Бколько ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС?

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π’Π—.Колонки.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ); // Бколько ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Π’Π—?

Как ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ:

Π’Π—.Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ("Π¦Π΅Π½Π° Π£Π±Ρ‹Π²"); // По ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ

Π’Π—.Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ("НаимСнованиС Π’ΠΎΠ·Ρ€"); // По Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ

Для слоТной сортировки (ΠΏΠΎ нСскольким ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ):

Π’Π—.Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ("НаимСнованиС Π’ΠΎΠ·Ρ€, Π¦Π΅Π½Π° Π£Π±Ρ‹Π²");