Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…

Массив (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅)

Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ массив (Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках программирования Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π°, ряд) β€” ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, располоТСнных Π² памяти нСпосрСдствСнно Π΄Ρ€ΡƒΠ³ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ списка), доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ осущСствляСтся ΠΏΠΎ индСксу.

ИндСкс массива β€” Ρ†Π΅Π»ΠΎΠ΅ число, Π»ΠΈΠ±ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΊ Ρ†Π΅Π»ΠΎΠΌΡƒ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ элСмСнт массива.

Π’ рядС скриптовых языков, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ PHP, ассоциативныС массивы, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π΅ обязаны Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹ΠΌΠΈ, ΠΈ доступ ΠΊ Π½ΠΈΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ осущСствляСтся ΠΏΠΎ индСксу.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠžΠ±Ρ‰Π΅Π΅ описаниС

Массив β€” УпорядочСнный Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…, для хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… индСксов. Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС массив ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΡΡ‚ΠΎΡΠ½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°.

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

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° индСксных массивов (свой синтаксис объявлСния, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с элСмСнтами ΠΈ Ρ‚. Π΄.) Π΅ΡΡ‚ΡŒ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ высокоуровнСвых языков программирования. Максимально допустимая Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива, Ρ‚ΠΈΠΏΡ‹ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ индСксов, ограничСния Π½Π° Ρ‚ΠΈΠΏΡ‹ элСмСнтов ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ языком программирования ΠΈ/ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ транслятором.

Π’ языках программирования, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΡ… объявлСния программистом собствСнных Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, сущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания Ρ‚ΠΈΠΏΠ° «массив». Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ‚ΠΈΠΏ элСмСнта, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Ρ‚ΠΈΠΏΡ‹ индСксов. Π’ дальнСйшСм Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… созданного Ρ‚ΠΈΠΏΠ°. ВсС Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅-массивы ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄Π½Ρƒ структуру. НСкоторыС языки ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…-массивов ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ присваивания (ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ всСм элСмСнтам массива ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ значСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… элСмСнтов Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ массива).

БпСцифичСскиС Ρ‚ΠΈΠΏΡ‹ массивов

ДинамичСскиС массивы

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ динамичСского массива Π½Π° Delphi

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ динамичСского массива Π½Π° Π‘ΠΈ

Π“Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹Π΅ массивы

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

ΠœΠ°ΡΡΠΈΠ²Ρ‹ массивов

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, являСтся ссылкой Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив.

РСализация

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌ способом Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ статичСских массивов с ΠΎΠ΄Π½ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ элСмСнтов являСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, адрСс элСмСнта с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ индСксов вычисляСтся, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ врСмя доступа ΠΊΠΎ всСм элСмСнтам массива ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт массива, Π² зависимости ΠΎΡ‚ языка программирования, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΉ индСкс. Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Ρ‚Ρ€ΠΈ основных разновидности массивов: с отсчСтом ΠΎΡ‚ нуля (zero-based), с отсчСтом ΠΎΡ‚ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ (one-based), ΠΈ с отсчСтом ΠΎΡ‚ спСцифичСского значСния Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ программистом (n-based). ΠžΡ‚ΡΡ‡Π΅Ρ‚ индСкса элСмСнта массивов с нуля Π±ΠΎΠ»Π΅Π΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π΅Π½ для Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… ЯП, ΠΎΠ΄Π½Π°ΠΊΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±Ρ‹Π» популяризирован Π² языках Π±ΠΎΠ»Π΅Π΅ высокого уровня языком программирорования Π‘.

Π‘ΠΎΠ»Π΅Π΅ слоТныС Ρ‚ΠΈΠΏΡ‹ массивов β€” динамичСскиС ΠΈ Π³Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π½Ρ‹Π΅ β€” Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ слоТнСС.

Достоинства

НСдостатки

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

Бсылки

ПолСзноС

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «ΠœΠ°ΡΡΠΈΠ² (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅)» Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… словарях:

Массив β€” Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. Массив (значСния). Π­Ρ‚Ρƒ страницу прСдлагаСтся ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π² Массив (ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°). ПояснСниС ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΈ обсуТдСниС Π½Π° страницС ВикипСдия:К ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ/4 ноября 2012. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅Ρ‘ … ВикипСдия

Класс (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) β€” Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. Класс. Класс Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π”Ρ€ΡƒΠ³ΠΈΠ΅ абстрактныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… мСтаклассы, интСрфСйсы, структуры, пСрСчислСния Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊΠΈΠΌΠΈ Ρ‚ΠΎ своими, другими… … ВикипСдия

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) β€” Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ. Для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ?: Найти ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ сносок ссылки Π½Π° Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹Π΅ исто … ВикипСдия

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) β€” Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ (значСния). Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ (ΠΎΡ‚ Π»Π°Ρ‚. inter Β«ΠΌΠ΅ΠΆΠ΄ΡƒΒ», ΠΈ face Β«ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒΒ») сСмантичСская ΠΈ синтаксичСская конструкция Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для спСцифицирования… … ВикипСдия

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) β€” Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΈΠ»ΠΈ Ρ€Π°Π·Π΄Π΅Π» нуТдаСтся Π² ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒΡŽ … ВикипСдия

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” ΠŸΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ программирования АгСнтно ориСнтированная ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎ ориСнтированная ΠšΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ‚ΠΈΠ²Π½Π°Ρ ДСкларативная (контрастируСт с Π˜ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ) ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡΠΌΠΈ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠŸΠΎΡ‚ΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π’Π°Π±Π»ΠΈΡ‡Π½ΠΎ ориСнтированная (элСктронныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹) РСактивная … ВикипСдия

АвтоматноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” АвтоматноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ это ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования, ΠΏΡ€ΠΈ использовании ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠ»ΠΈ Π΅Ρ‘ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ осмысливаСтся ΠΊΠ°ΠΊ модСль ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π»ΠΈΠ±ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°. Π’ зависимости ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π½ΠΎΠΌ программировании… … ВикипСдия

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) β€” Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ (значСния). ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ нСкоторая ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ пространствС, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰Π°Ρ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ состояниСм ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ значСния свойств (Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²) и… … ВикипСдия

ΠžΡ‡Π΅Ρ€Π΅Π΄ΡŒ (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) β€” Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. ΠžΡ‡Π΅Ρ€Π΅Π΄ΡŒ. ΠžΡ‡Π΅Ρ€Π΅Π΄ΡŒ структура Π΄Π°Π½Π½Ρ‹Ρ… с дисциплиной доступа ΠΊ элСмСнтам Β«ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΡˆΡ‘Π» ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅Π»Β» (FIFO, First In First Out). Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ элСмСнта (принято ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ словом… … ВикипСдия

Бсылка (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) β€” Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ссылок Π½Π° источники ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ провСряСма, ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ поставлСна ΠΏΠΎΠ΄ сомнСниС ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ … ВикипСдия

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ структуры Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΠ°Ρ‚Ρ‡Π°ΡΡ‚ΡŒ. Азы

ВсС Ρ‡Π°Ρ‰Π΅ Π·Π°ΠΌΠ΅Ρ‡Π°ΡŽ, Ρ‡Ρ‚ΠΎ соврСмСнным самоучкам ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ матчасти. ВсС Π·Π½Π°ΡŽΡ‚ языки, Π½ΠΎ ΠΌΠ°Π»ΠΎ основы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. НСмного ΠΏΡ€ΠΎ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π•Ρ‰Π΅ Π² Π΄Π°Π»Π΅ΠΊΠΎΠΌ 1976 ΡˆΠ²Π΅ΠΉΡ†Π°Ρ€ΡΠΊΠΈΠΉ ΡƒΡ‡Π΅Π½Ρ‹ΠΉ Никлаус Π’ΠΈΡ€Ρ‚ написал ΠΊΠ½ΠΈΠ³Ρƒ Алгоритмы + структуры Π΄Π°Π½Π½Ρ‹Ρ… = ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

40+ Π»Π΅Ρ‚ спустя это ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ всС Π΅Ρ‰Π΅ Π²Π΅Ρ€Π½ΠΎ. И Ссли Π²Ρ‹ самоучка ΠΈ Π½Π°Π΄ΠΎΠ»Π³ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π΅Π³ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΎ ΡΡ‚Π°Ρ‚ΡŒΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ. МоТно ΠΊΠΎΠ΄ ΠΊΠΎΡ„Π΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ‚Π°ΠΊ ΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ вопросы, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ структура Π΄Π°Π½Π½Ρ‹Ρ…?

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… β€” это ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΌΠ°ΠΊΠ΅Ρ‚Π΅. Π­Ρ‚ΠΎΡ‚ Β«ΠΌΠ°ΠΊΠ΅Ρ‚Β» позволяСт структурС Π΄Π°Π½Π½Ρ‹Ρ… Π±Ρ‹Ρ‚ΡŒ эффСктивной Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… опСрациях ΠΈ нСэффСктивной Π² Π΄Ρ€ΡƒΠ³ΠΈΡ….

КакиС Π±Ρ‹Π²Π°ΡŽΡ‚?

Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅, элСмСнты ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ список, ΠΎΠ±Ρ…ΠΎΠ΄ ΡƒΠ·Π»ΠΎΠ² Π»ΠΈΠ½Π΅Π΅Π½. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: ΠœΠ°ΡΡΠΈΠ²Ρ‹. Бвязанный список, стСки ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ.

НСлинСйныС, Ссли ΠΎΠ±Ρ…ΠΎΠ΄ ΡƒΠ·Π»ΠΎΠ² Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ, Π° Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π³Ρ€Π°Ρ„ ΠΈ Π΄Π΅Ρ€Π΅Π²ΡŒΡ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ структуры Π΄Π°Π½Π½Ρ‹Ρ….

ΠœΠ°ΡΡΠΈΠ²Ρ‹

Массив β€” это самая простая ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ структура Π΄Π°Π½Π½Ρ‹Ρ…. Π”Ρ€ΡƒΠ³ΠΈΠ΅ структуры Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ стСки ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌΠΈ ΠΎΡ‚ массивов.

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ простого массива Ρ€Π°Π·ΠΌΠ΅Ρ€Π° 4, содСрТащСго элСмСнты (1, 2, 3 ΠΈ 4).

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…

ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту Π΄Π°Π½Π½Ρ‹Ρ… присваиваСтся ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (индСкс), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ элСмСнта Π² массивС. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ языков ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ индСкс массива ΠΊΠ°ΠΊ 0.

Π‘Ρ‹Π²Π°ΡŽΡ‚

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅.
ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅, массивы Π²Π½ΡƒΡ‚Ρ€ΠΈ массивов.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Вопросы

Π‘Ρ‚Π΅ΠΊΠΈ

Π‘Ρ‚Π΅ΠΊ β€” абстрактный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой список элСмСнтов, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ LIFO (Π°Π½Π³Π». last in β€” first out, «послСдним ΠΏΡ€ΠΈΡˆΡ‘Π» β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π²Ρ‹ΡˆΠ΅Π»Β»).

Π­Ρ‚ΠΎ Π½Π΅ массивы. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ. ΠŸΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» Алан Π’ΡŽΡ€ΠΈΠ½Π³.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ стСка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΡƒΡ‡Π° ΠΊΠ½ΠΈΠ³, располоТСнных Π² Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌ порядкС. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ, которая Π³Π΄Π΅-Ρ‚ΠΎ посСрСдинС, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС ΠΊΠ½ΠΈΠ³ΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Π΅ Π½Π° Π½Π΅ΠΉ. Π’Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ LIFO (Last In First Out). Ѐункция Β«ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΒ» Π² прилоТСниях Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ LIFO.

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ стСка, Π² Ρ‚Ρ€ΠΈ элСмСнта (1, 2 ΠΈ 3), Π³Π΄Π΅ 3 находится Π½Π°Π²Π΅Ρ€Ρ…Ρƒ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Вопросы

ΠžΡ‡Π΅Ρ€Π΅Π΄ΠΈ

Подобно стСкам, ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ β€” Ρ…Ρ€Π°Π½ΠΈΡ‚ элСмСнт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. БущСствСнноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ стСка – использованиС FIFO (First in First Out) вмСсто LIFO.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ – ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ людСй. ПослСдний занял послСдним ΠΈ Π±ΡƒΠ΄Π΅ΡˆΡŒ, Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΅Π΅ ΠΈ ΠΏΠΎΠΊΠΈΠ½Π΅Ρ‚.

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ элСмСнта (1, 2, 3 ΠΈ 4), Π³Π΄Π΅ 1 находится Π½Π°Π²Π΅Ρ€Ρ…Ρƒ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Вопросы

Бвязанный список

Бвязанный список – массив Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт являСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ состоит ΠΈΠ· Π΄Π²ΡƒΡ… элСмСнтов – Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ссылки Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΠ·Π΅Π».

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ прСимущСством ΠΏΠ΅Ρ€Π΅Π΄ массивом являСтся структурная Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ: порядок элСмСнтов связного списка ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с порядком располоТСния элСмСнтов Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π° порядок ΠΎΠ±Ρ…ΠΎΠ΄Π° списка всСгда явно задаётся Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ связями.

Π‘Ρ‹Π²Π°ΡŽΡ‚

ΠžΠ΄Π½ΠΎΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΠ·Π΅Π» Ρ…Ρ€Π°Π½ΠΈΡ‚ адрСс ΠΈΠ»ΠΈ ссылку Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΠ·Π΅Π» Π² спискС ΠΈ послСдний ΡƒΠ·Π΅Π» ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ адрСс ΠΈΠ»ΠΈ ссылку ΠΊΠ°ΠΊ NULL.

Π”Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ, Π΄Π²Π΅ ссылки, связанныС с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΡƒΠ·Π»ΠΎΠΌ, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΠΏΠΎΡ€Π½Ρ‹Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΠ·Π΅Π» ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ ΡƒΠ·Π»Ρƒ.

ΠšΡ€ΡƒΠ³ΠΎΠ²ΠΎΠΉ, всС ΡƒΠ·Π»Ρ‹ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ, образуя ΠΊΡ€ΡƒΠ³. Π’ ΠΊΠΎΠ½Ρ†Π΅ Π½Π΅Ρ‚ NULL. ЦикличСский связанный список ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ-ΠΈΠ»ΠΈ Π΄Π²ΡƒΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΌ цикличСским связанным списком.

Π‘Π°ΠΌΠΎΠ΅ частоС, Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ список. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ – файловая систСма.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Вопросы

Π“Ρ€Π°Ρ„Ρ‹

Π“Ρ€Π°Ρ„-это Π½Π°Π±ΠΎΡ€ ΡƒΠ·Π»ΠΎΠ² (Π²Π΅Ρ€ΡˆΠΈΠ½), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ соСдинСны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ сСти Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ (Π΄ΡƒΠ³Π°ΠΌΠΈ).

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…

Π‘Ρ‹Π²Π°ΡŽΡ‚

ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ, Ρ€Π΅Π±Ρ€Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ, Ρ‚.Π΅. сущСствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ доступноС Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя связными Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ.
НСориСнтированныС, ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· Ρ€Π΅Π±Π΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² ΠΎΠ±ΠΎΠΈΡ… направлСниях.
Π‘ΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Π΅

Π’ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² Ρ‚Π°ΠΊΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΊΠ°ΠΊ

ΠžΠ±Ρ‰ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠ±Ρ…ΠΎΠ΄Π° Π³Ρ€Π°Ρ„Π°

Вопросы

Π”Π΅Ρ€Π΅Π²ΡŒΡ

Π”Π΅Ρ€Π΅Π²ΠΎ-это иСрархичСская структура Π΄Π°Π½Π½Ρ‹Ρ…, состоящая ΠΈΠ· ΡƒΠ·Π»ΠΎΠ² (Π²Π΅Ρ€ΡˆΠΈΠ½) ΠΈ Ρ€Π΅Π±Π΅Ρ€ (Π΄ΡƒΠ³). Π”Π΅Ρ€Π΅Π²ΡŒΡ ΠΏΠΎ сути связанныС Π³Ρ€Π°Ρ„Ρ‹ Π±Π΅Π· Ρ†ΠΈΠΊΠ»ΠΎΠ².

Π”Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹Π΅ структуры Π²Π΅Π·Π΄Π΅ ΠΈ Π²ΡΡŽΠ΄Ρƒ. Π”Π΅Ρ€Π΅Π²ΠΎ скилов Π² ΠΈΠ³Ρ€Π°Ρ… Π·Π½Π°ΡŽΡ‚ всС.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…

Β«Π‘ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ β€” это иСрархичСская структура Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΠ·Π΅Π» ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (ΠΎΠ½ΠΎ ΠΆΠ΅ являСтся Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΈ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ) ΠΈ ссылки Π½Π° Π»Π΅Π²ΠΎΠ³ΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°. Β» β€” Procs

Π’Ρ€ΠΈ способа ΠΎΠ±Ρ…ΠΎΠ΄Π° Π΄Π΅Ρ€Π΅Π²Π°

Вопросы

Trie ( прСфиксноС Π΄Π΅Ρ€Π΅Π²ΠΎΠ΅ )

Π Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²Π° для строк, быстрый поиск. Π‘Π»ΠΎΠ²Π°Ρ€ΠΈ. Π’9.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ слова Β«topΒ», Β«thusΒ» ΠΈ Β«theirΒ».

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…

Π‘Π»ΠΎΠ²Π° хранятся свСрху Π²Π½ΠΈΠ·, Π·Π΅Π»Π΅Π½Ρ‹Π΅ Ρ†Π²Π΅Ρ‚Π½Ρ‹Π΅ ΡƒΠ·Π»Ρ‹ Β«pΒ», Β«sΒ» ΠΈ Β«rΒ» ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΠΊΠΎΠ½Π΅Ρ† Β«topΒ», Β«thus Β« ΠΈ Β«theirΒ» соотвСтствСнно.

Вопросы

Π₯эш Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Π₯ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это процСсс, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ хранСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Π·Π°Ρ€Π°Π½Π΅Π΅ рассчитанном ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌ индСксС (ΠΊΠ»ΡŽΡ‡Π΅).

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ хранится Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€Ρ‹ Β«ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β», Π° коллСкция Ρ‚Π°ΠΊΠΈΡ… элСмСнтов называСтся «словарСм». ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΊΠ»ΡŽΡ‡Π°.

По сути это массив, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ»ΡŽΡ‡ прСдставлСн Π² Π²ΠΈΠ΄Π΅ Ρ…Π΅Ρˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ зависит ΠΎΡ‚

Вопросы

Бписок рСсурсов

ВмСсто Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

ΠœΠ°Ρ‚Ρ‡Π°ΡΡ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅ интСрСсна, ΠΊΠ°ΠΊ ΠΈ сами языки. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ Π΅ΠΌΡƒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ структуры ΠΈ заинтСрСсуСтся.

Бпасибо, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‡Π»ΠΈ. НадСюсь Π½Π΅ зря ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΈ врСмя =)

PS: ΠŸΡ€ΠΎΡˆΡƒ ΠΈΠ·Π²ΠΈΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ оказалось, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΡƒΠΆΠ΅ Π±Ρ‹Π» Ρ‚ΡƒΡ‚ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅Π΄Π°Π²Π½ΠΎ, я проглядСл.
Если интСрСсно, Π²ΠΎΡ‚ ΠΎΠ½Π°, спасибо Hokum, Π±ΡƒΠ΄Ρƒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π΅Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ массив Π΄Π°Π½Π½Ρ‹Ρ…» Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… словарях:

Массив (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) β€” Π˜Π½Π΄Π΅ΠΊΡΠ½Ρ‹ΠΉ массив (Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках программирования Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π°, ряд) ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, располоТСнных Π² памяти нСпосрСдствСнно Π΄Ρ€ΡƒΠ³ Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ списка), доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ осущСствляСтся ΠΏΠΎ индСксу. Π˜Π½Π΄Π΅ΠΊΡβ€¦ … ВикипСдия

Вопрос ΠΎ статусС русского языка Π½Π° Π£ΠΊΡ€Π°ΠΈΠ½Π΅ β€” Николай Π“ΠΎΠ³ΠΎΠ»ΡŒ, русский ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ классик, ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† ΠŸΠΎΠ»Ρ‚Π°Π²Ρ‰ΠΈΠ½Ρ‹ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”Π°Π»ΡŒ, ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ Β«Π’ΠΎΠ»ΠΊΠΎΠ²ΠΎΠ³ΠΎ словаря ΠΆΠΈΠ²ΠΎΠ³ΠΎ вСликорусского языка», ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† Луганска … ВикипСдия

Вопрос ΠΎ статусС русского языка Π² Π£ΠΊΡ€Π°ΠΈΠ½Π΅ β€” Николай Π“ΠΎΠ³ΠΎΠ»ΡŒ, русский ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ классик, ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† ΠŸΠΎΠ»Ρ‚Π°Π²Ρ‰ΠΈΠ½Ρ‹ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”Π°Π»ΡŒ, ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ Β«Π’ΠΎΠ»ΠΊΠΎΠ²ΠΎΠ³ΠΎ словаря ΠΆΠΈΠ²ΠΎΠ³ΠΎ вСликорусского языка», ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† Луганска … ВикипСдия

Дискуссия ΠΎ статусС русского языка Π² Π£ΠΊΡ€Π°ΠΈΠ½Π΅ β€” Николай Π“ΠΎΠ³ΠΎΠ»ΡŒ, русский ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ классик, ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† ΠŸΠΎΠ»Ρ‚Π°Π²Ρ‰ΠΈΠ½Ρ‹ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”Π°Π»ΡŒ, ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ Β«Π’ΠΎΠ»ΠΊΠΎΠ²ΠΎΠ³ΠΎ словаря ΠΆΠΈΠ²ΠΎΠ³ΠΎ вСликорусского языка», ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† Луганска … ВикипСдия

ПолоТСниС русского языка Π² Π£ΠΊΡ€Π°ΠΈΠ½Π΅ β€” Николай Π“ΠΎΠ³ΠΎΠ»ΡŒ, русский ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ классик, ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† ΠŸΠΎΠ»Ρ‚Π°Π²Ρ‰ΠΈΠ½Ρ‹ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”Π°Π»ΡŒ, ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ Β«Π’ΠΎΠ»ΠΊΠΎΠ²ΠΎΠ³ΠΎ словаря ΠΆΠΈΠ²ΠΎΠ³ΠΎ вСликорусского языка», ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† Луганска … ВикипСдия

ПолоТСниС русского языка Π½Π° Π£ΠΊΡ€Π°ΠΈΠ½Π΅ β€” Николай Π“ΠΎΠ³ΠΎΠ»ΡŒ, русский ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ классик, ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† ΠŸΠΎΠ»Ρ‚Π°Π²Ρ‰ΠΈΠ½Ρ‹ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”Π°Π»ΡŒ, ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ Β«Π’ΠΎΠ»ΠΊΠΎΠ²ΠΎΠ³ΠΎ словаря ΠΆΠΈΠ²ΠΎΠ³ΠΎ вСликорусского языка», ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† Луганска … ВикипСдия

Π Π―Π½Π°Π£ β€” Николай Π“ΠΎΠ³ΠΎΠ»ΡŒ, русский ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ классик, ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† ΠŸΠΎΠ»Ρ‚Π°Π²Ρ‰ΠΈΠ½Ρ‹ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”Π°Π»ΡŒ, ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ Β«Π’ΠΎΠ»ΠΊΠΎΠ²ΠΎΠ³ΠΎ словаря ΠΆΠΈΠ²ΠΎΠ³ΠΎ вСликорусского языка», ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† Луганска … ВикипСдия

Русский язык Π² Π£ΠΊΡ€Π°ΠΈΠ½Π΅ β€” Николай Π“ΠΎΠ³ΠΎΠ»ΡŒ, русский ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ классик, ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† ΠŸΠΎΠ»Ρ‚Π°Π²Ρ‰ΠΈΠ½Ρ‹ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”Π°Π»ΡŒ, ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ Β«Π’ΠΎΠ»ΠΊΠΎΠ²ΠΎΠ³ΠΎ словаря ΠΆΠΈΠ²ΠΎΠ³ΠΎ вСликорусского языка», ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† Луганска … ВикипСдия

Русский язык Π² украинском государствС β€” Николай Π“ΠΎΠ³ΠΎΠ»ΡŒ, русский ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ классик, ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† ΠŸΠΎΠ»Ρ‚Π°Π²Ρ‰ΠΈΠ½Ρ‹ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”Π°Π»ΡŒ, ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ Β«Π’ΠΎΠ»ΠΊΠΎΠ²ΠΎΠ³ΠΎ словаря ΠΆΠΈΠ²ΠΎΠ³ΠΎ вСликорусского языка», ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† Луганска … ВикипСдия

Русский язык Π½Π° Ρ‚Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π£ΠΊΡ€Π°ΠΈΠ½Ρ‹ β€” Николай Π“ΠΎΠ³ΠΎΠ»ΡŒ, русский ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ классик, ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† ΠŸΠΎΠ»Ρ‚Π°Π²Ρ‰ΠΈΠ½Ρ‹ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”Π°Π»ΡŒ, ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ Β«Π’ΠΎΠ»ΠΊΠΎΠ²ΠΎΠ³ΠΎ словаря ΠΆΠΈΠ²ΠΎΠ³ΠΎ вСликорусского языка», ΡƒΡ€ΠΎΠΆΠ΅Π½Π΅Ρ† Луганска … ВикипСдия

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”Π°Π΄ΠΈΠΌ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅:

массив — структурированный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, состоящий ΠΈΠ· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ числа элСмСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² возмоТностях ΠΈ особСнностях ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ массивов Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° ассСмблСрС, Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ вопросы:

Β· Как ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ массивв ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅?

Β· Как ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния Π΅Π³ΠΎ элСмСнтов?

Β· Как ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ доступк элСмСнтам массива?

Β· Как ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ массивыс Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ?

Β· Как ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с массивами?

ОписаниС ΠΈ инициализация массива Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… срСдств описания массивов Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ассСмблСра, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅Ρ‚. ΠŸΡ€ΠΈ нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массив Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… способов:

1. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠ΅ΠΌ элСмСнтов массива Π² ΠΏΠΎΠ»Π΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² описания Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ пСрСчислСнии элСмСнты Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ запятыми. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ:

;массив ΠΈΠ· 5 элСмСнтов.Π Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта 4 Π±Π°ΠΉΡ‚Π°:

2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ повторСния dup. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ:

;массив ΠΈΠ· 5 Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… элСмСнтов.

;Π Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта 2 Π±Π°ΠΉΡ‚Π°:

Π’Π°ΠΊΠΎΠΉ способ опрСдСлСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для рСзСрвирования памяти с Ρ†Π΅Π»ΡŒΡŽ размСщСния ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ элСмСнтов массива.

3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ labelΠΈrept. ΠŸΠ°Ρ€Π° этих Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ описаниС Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов Π² памяти ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ описания. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°reptотносится ΠΊ макросрСдствам языка ассСмблСра ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ число Ρ€Π°Π· строк, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ ΠΈ строкой endm. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ массив Π±Π°ΠΉΡ‚ Π² области памяти, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌmas_b. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°labelопрСдСляСт символичСскоС имяmas_b, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°ΡŽΡ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ рСзСрвирования ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ памяти. Достоинство Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹labelΠ² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π° лишь опрСдСляСт характСристики ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” это ячСйка памяти. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ нСсколько Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²label, записанных ΠΎΠ΄Π½Π° Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ области памяти Ρ€Π°Π·Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΈ Ρ€Π°Π·Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, Ρ‡Ρ‚ΠΎ ΠΈ сдСлано Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅:

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π² памяти Π±ΡƒΠ΄Π΅Ρ‚ создана ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… слов f1f0. Π­Ρ‚Ρƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ массив Π±Π°ΠΉΡ‚ ΠΈΠ»ΠΈ слов Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠ΅ имя области ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ β€”mas_bΠΈΠ»ΠΈmas_w.

4. ИспользованиС Ρ†ΠΈΠΊΠ»Π° для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ значСниями области памяти, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ впослСдствии Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ массив.

5. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ листинга 2, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ это дСлаСтся.

Листинг 2 Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ массива Π² Ρ†ΠΈΠΊΠ»Π΅

mes db 0ah,0dh,’Массив- ‘,’$’

mas db 10 dup (?) ;исходный массив

xor ax,ax ;ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ ax

mov cx,10 ;Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика Ρ†ΠΈΠΊΠ»Π° Π² cx

mov si,0 ;индСкс Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ элСмСнта Π² cx

go: ;Ρ†ΠΈΠΊΠ» ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

mov mas[si],bh ;запись в массив i

inc si ;ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ элСмСнту массива

loop go ;ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ»

;Π²Ρ‹Π²ΠΎΠ΄ Π½Π° экран ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅Π³ΠΎΡΡ массива

mov ah,02h ;функция Π²Ρ‹Π²ΠΎΠ΄Π° значСния ΠΈΠ· al Π½Π° экран

add dl,30h ;ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ числа Π² символ

mov ax,4c00h ;стандартный Π²Ρ‹Ρ…ΠΎΠ΄

end main ;ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Доступ ΠΊ элСмСнтам массива

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с массивами Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сСбС, Ρ‡Ρ‚ΠΎ всС элСмСнты массива Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

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

Π­Ρ‚ΠΈ ΠΆΠ΅ сообраТСния ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π½Π° индСксы элСмСнтов массива. АссСмблСр Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°Π΅Ρ‚ ΠΎΠ± ΠΈΡ… сущСствовании ΠΈ Π΅ΠΌΡƒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС Ρ€Π°Π²Π½ΠΎ, ΠΊΠ°ΠΊΠΎΠ²Ρ‹ ΠΈΡ… числСнныС смысловыС значСния.

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

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΅Ρ‰Π΅ Ρ€Π°Π· обратимся ΠΊ описанию массива. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ статичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…:

ΠŸΡƒΡΡ‚ΡŒ эта ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чисСл трактуСтся ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив. Π Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта опрСдСляСтся Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ dw, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½Π° Ρ€Π°Π²Π½Π°2Π±Π°ΠΉΡ‚Π°. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌΡƒ элСмСнту, Π½ΡƒΠΆΠ½ΠΎ ΠΊ адрСсу массива ΠΏΡ€ΠΈΠ±Π°Π²ΠΈΡ‚ΡŒ6. НумСрация элСмСнтов массива Π² ассСмблСрС начинаСтся с нуля.

Π’ΠΎ Π΅ΡΡ‚ΡŒ Π² нашСм случаС Ρ€Π΅Ρ‡ΡŒ, фактичСски, ΠΈΠ΄Π΅Ρ‚ ΠΎ 4-ΠΌ элСмСнтС массива β€” 3, Π½ΠΎ ΠΎΠ± этом Π·Π½Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ программист; микропроцСссору Π² Π΄Π°Π½Π½ΠΎΠΌ случаС всС Ρ€Π°Π²Π½ΠΎ β€” Π΅ΠΌΡƒ Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ адрСс.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС для получСния адрСса элСмСнта Π² массивС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ (Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ) адрСс массива ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ с ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ индСкса (Π½ΠΎΠΌΠ΅Ρ€ элСмСнта минус Π΅Π΄ΠΈΠ½ΠΈΡ†Π°) этого элСмСнта Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ элСмСнта массива:

Π±Π°Π·Π° + (индСкс*Ρ€Π°Π·ΠΌΠ΅Ρ€ элСмСнта)

АрхитСктура микропроцСссора прСдоставляСт достаточно ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ срСдства для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами. К Π½ΠΈΠΌ относятся Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΈ индСксныС рСгистры, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² адрСсации Π΄Π°Π½Π½Ρ‹Ρ…. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ адрСсации, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с массивами Π² памяти. Вспомним эти Ρ€Π΅ΠΆΠΈΠΌΡ‹:

Β· индСксная адрСсация со смСщСниСм β€” Ρ€Π΅ΠΆΠΈΠΌ адрСсации, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ эффСктивный адрСс формируСтся ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²:

o постоянного (Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ)β€” ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ прямого адрСса массива Π² Π²ΠΈΠ΄Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ массива;

o ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ (индСксного)β€” ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ индСксного рСгистра.

;ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ 3-ΠΉ элСмСнт массива mas Π² рСгистр ax:

Β· базовая индСксная адрСсация со смСщСниСм β€” Ρ€Π΅ΠΆΠΈΠΌ адрСсации, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ эффСктивный адрСс формируСтся максимум ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²:

o постоянного(Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚), Π² качСствС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ прямой адрСс массива Π² Π²ΠΈΠ΄Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ массива, ΠΈΠ»ΠΈ нСпосрСдствСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;

o ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ (Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ)β€” ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ рСгистра;

o ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ (индСксного)β€” ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ индСксного рСгистра.

Π­Ρ‚ΠΎΡ‚ Π²ΠΈΠ΄ адрСсации ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования этой адрСсации ΠΌΡ‹ рассмотрим Π΄Π°Π»Π΅Π΅ ΠΏΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ особСнностСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами.

Напомним, Ρ‡Ρ‚ΠΎ Π² качСствС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ рСгистра ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ любой ΠΈΠ· восьми рСгистров ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния. Π’ качСствС индСксного рСгистра Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой рСгистр ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ esp/sp.

ΠœΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ позволяСт ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ индСкс. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ послС ΠΈΠΌΠ΅Π½ΠΈ индСксного рСгистра Π·Π½Π°ΠΊ умноТСния β€œ*” с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠΉ 2, 4 ΠΈΠ»ΠΈ 8, Ρ‚ΠΎ содСрТимоС индСксного рСгистра Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΌΠ½ΠΎΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° 2, 4 ΠΈΠ»ΠΈ 8, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с массивами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ элСмСнтов, Ρ€Π°Π²Π½Ρ‹ΠΉ 2, 4 ΠΈΠ»ΠΈ 8 Π±Π°ΠΉΡ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ микропроцСссор сам ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΡŽ индСкса для получСния адрСса ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ элСмСнта массива. Нам Π½ΡƒΠΆΠ½ΠΎ лишь Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² индСксный рСгистр Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ индСкса (считая ΠΎΡ‚ 0). ΠšΡΡ‚Π°Ρ‚ΠΈ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ появилась Π² микропроцСссорах Intel, начиная с ΠΌΠΎΠ΄Π΅Π»ΠΈ i486. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π² рассматриваСмом здСсь ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ стоит Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° .486. Π•Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ€Π°Π½Π΅Π΅ использовавшСйся Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹.386, Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ассСмблСру ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΡ‡Π΅Ρ‚Π° ΠΈ использования Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй систСмы ΠΊΠΎΠΌΠ°Π½Π΄ Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ микропроцСссоров.

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ рассмотрим листинг 3, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ просматриваСтся массив, состоящий ΠΈΠ· слов, ΠΈ производится сравнСниС этих элСмСнтов с Π½ΡƒΠ»Π΅ΠΌ. Выводится ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС.

Листинг 3. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ массива слов с использованиСм

.data ;Π½Π°Ρ‡Π°Π»ΠΎ сСгмСнта Π΄Π°Π½Π½Ρ‹Ρ…

mes1 db ‘Π½Π΅ Ρ€Π°Π²Π΅Π½ 0!$’,0ah,0dh

mes2 db ‘Ρ€Π°Π²Π΅Π½ 0!$’,0ah,0dh

mas dw 2,7,0,0,1,9,3,6,0,8 ;исходный массив

.486 ;это ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ

mov ds,ax ;связка ds с сСгмСнтом Π΄Π°Π½Π½Ρ‹Ρ…

xor ax,ax ;ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ ax

mov cx,10 ;Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтчика Ρ†ΠΈΠΊΠ»Π° Π² cx

mov esi,0 ;индСкс в esi

mov dx,mas[esi*2] ;ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт массива Π² dx

cmp dx,0 ;сравнСниС dx c 0

je equal ;ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄, Ссли Ρ€Π°Π²Π½ΠΎ

not_equal: ;Π½Π΅ Ρ€Π°Π²Π½ΠΎ

mov ah,09h ;Π²Ρ‹Π²ΠΎΠ΄ сообщСния Π½Π° экран

mov ah,02h ;Π²Ρ‹Π²ΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€Π° элСмСнта массива Π½Π° экран

inc esi ;Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт

dec cx ;условиС для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°

jcxz exit ;cx=0? Если Π΄Π° β€” Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄

jmp compare ;Π½Π΅Ρ‚ β€” ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ»

mov ah,09h ;Π²Ρ‹Π²ΠΎΠ΄ сообщСния mes3 Π½Π° экран

mov ah,09h ;Π²Ρ‹Π²ΠΎΠ΄ сообщСния mes2 Π½Π° экран

inc esi ;Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт

dec cx ;всС элСмСнты ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹?

mov ax,4c00h ;стандартный Π²Ρ‹Ρ…ΠΎΠ΄

end main ;ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π•Ρ‰Π΅ нСсколько слов ΠΎ ΡΠΎΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡΡ…:

Β· Если для описания адрСса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ рСгистр, Ρ‚ΠΎ Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ адрСсациии этот рСгистр рассматриваСтся ΠΊΠ°ΠΊΠ±Π°Π·ΠΎΠ²Ρ‹ΠΉ:

;ΠΏΠ΅Ρ€Π΅ΡΠ»Π°Ρ‚ΡŒ Π±Π°ΠΉΡ‚ ΠΈΠ· области Π΄Π°Π½Π½Ρ‹Ρ…, адрСс

ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится Π² рСгистрС ebx:

Β· Если для задания адрСса Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ прямая адрСсация(Π² Π²ΠΈΠ΄Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°) Π² сочСтании с ΠΎΠ΄Π½ΠΈΠΌ рСгистром, Ρ‚ΠΎ Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ обиндСксной адрСсации. РСгистр считаСтсяиндСксным, ΠΈ поэтому ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для получСния адрСса Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ элСмСнта массива:

;ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ содСрТимоС eax с Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ словом Π² памяти

;ΠΏΠΎ адрСсу mas + (ebx)*4

Β· Если для описания адрСса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° рСгистра, Ρ‚ΠΎ Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Π±Π°Π·ΠΎΠ²ΠΎ-индСксной адрСсации. Π›Π΅Π²Ρ‹ΠΉ рСгистр рассматриваСтся ΠΊΠ°ΠΊ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ, Π° ΠΏΡ€Π°Π²Ρ‹ΠΉ β€” ΠΊΠ°ΠΊ индСксный. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС это Π½Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ Ссли ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· рСгистров, Ρ‚ΠΎ ΠΎΠ½ всСгда являСтсяиндСксным. Но Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… соглашСний.

Β· ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ рСгистров ebp/bpΠΈesp/spΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сСгмСнтная ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ адрСса находится Π² рСгистрСss.

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²ΠΎ-ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡƒΡŽ Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ Π½Π΅ возбраняСтся ΡΠΎΡ‡Π΅Ρ‚Π°Ρ‚ΡŒ с прямой адрСсациСй ΠΈΠ»ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ нСпосрСдствСнного значСния. АдрСс Ρ‚ΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ сумма всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².

;адрСс ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Ρ€Π°Π²Π΅Π½ [mas+(ebx)+(ecx)*2]

;адрСс ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Ρ€Π°Π²Π΅Π½ [(ebx)+8+(ecx)*4]

Но ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ эффСктивно лишь Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ элСмСнтов массива Ρ€Π°Π²Π½Π° 2, 4 ΠΈΠ»ΠΈ 8 Π±Π°ΠΉΡ‚. Если ΠΆΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ элСмСнтов другая, Ρ‚ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнтам массива Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ способом, ΠΊΠ°ΠΊ описано Ρ€Π°Π½Π΅Π΅.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивом ΠΈΠ· пяти Ρ‚Ρ€Π΅Ρ…Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… элСмСнтов (листинг 4). Младший Π±Π°ΠΉΡ‚ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· этих элСмСнтов прСдставляСт собой Π½Π΅ΠΊΠΈΠΉ счСтчик, Π° ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ Π΄Π²Π° Π±Π°ΠΉΡ‚Π° β€” Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅, для нас Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ значСния. НСобходимо ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ элСмСнты Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ² значСния счСтчиков Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ.

Листинг 4. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° массива элСмСнтов с Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ

MODEL small ;модСль памяти

STACK 256 ;Ρ€Π°Π·ΠΌΠ΅Ρ€ стСка

.data ;Π½Π°Ρ‡Π°Π»ΠΎ сСгмСнта Π΄Π°Π½Π½Ρ‹Ρ…

N=5 ;количСство элСмСнтов массива

mas db 5 dup (3 dup (0))

main: ;Ρ‚ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ

xor ax,ax ;ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ ax

mov dl,mas[si] ;ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π°ΠΉΡ‚ поля Π² dl

inc dl ;ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ dl Π½Π° 1 (ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ)

mov mas[si],dl ;Π·Π°ΡΠ»Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² массив

add si,3 ;сдвиг Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт массива

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *