Пт. Апр 5th, 2024

Структура информационного массива определяется один раз на шаге его сотворения и в процессе эксплуатации уже не меняется. В языках программирования это достигается описанием структуры в блоке описаний программки; в СУБД — установлением списка и последовательности полей записи на исходном шаге сотворения базы данных. Всякое изменение структуры (к примеру, введение дополнительного поля записи либо удаление имеющегося) эквивалентно созданию новейшей структуры. Что все-таки касается количества записей в структурированном информационном массиве, то при представлении его в ОЗУ компьютера вероятны две ситуации: или под него выделяется область ОЗУ фиксированного размера, или размер области по мере надобности может изменяться.

В первом варианте сначала работы программки происходит резервирование областей ОЗУ для хранения информационных массивов. С этой целью в тексте программки указывается, какого типа и размера информационные массивы будут в предстоящем применены. В процессе выполнения программки могут изменяться значения частей информационного массива, но не его размер. По этой причине в случае, если размер (число частей) массива не известен заблаговременно (к примеру, количество учеников в классе), приходится производить лишнее резервирование, что, непременно, приводит к нерациональному использованию памяти компьютера. Конкретно таким макаром происходит резервирование памяти при описании массивов и других структурных данных в языке PASCAL. Отсутствие способностей динамического описания массивов (т.е. введение новых массивов либо изменение размеров имеющихся в процессе выполнения программки) считается одним из существенных недочетов языка программирования.

Информационные массивы, допускающие изменение размера (но не структуры!) именуются динамическими. В данном случае данные могут иметь последовательное либо связное представление в ОЗУ.

Последовательное представление иллюстрируется рис. 6.5. В этом варианте данные (отдельные записи) располагаются в примыкающих поочередно расположенных ячейках памяти. На размещение одной записи может потребоваться несколько ячеек (машинных слов), но их количество идентично для каждой из записей (в представленном на рис. 6.5,а примере — 12), потому идентификатор записи совершенно точно связывается с номером первой ячейки, начиная с которой запись располагается. Физический порядок следования стопроцентно соответствует логическому. Такая совокупа записей именуется поочередным перечнем. Для его хранения в ОЗУ выделяется блок ячеек фиксированного размера. При выполнении команды обрабатывающей программки «Добавить запись» происходит повышение размера массива на одну строчку в конце блока и по мере надобности делается перезапись массива в ОЗУ (может быть, с конфигурацией адресов). В добавленной строке располагается новенькая запись, как это показано на рис. 6.5,б. При изъятии каких-либо записей по команде «Удалить запись» соответственная строчка очищается и после перезаписи заполняется содержимым последующих ячеек (рис. 6.5,в).

Связное представление данных основано на том, что в записи дописывается дополнительное поле, в каком располагается указатель адреса, т.е. ссылка на то место в ОЗУ, где размещается последующая запись. При всем этом физический порядок размещения записей не соответствует логическому — записи размещаются в всех свободных ячейках ОЗУ, при этом, не непременно по порядку. Такие структуры именуются связными перечнями. Их удобство состоит в гибкости структуры — без перезаписи других частей можно просто добавлять новые либо исключать имеющиеся — для этого довольно только поменять состояние поля указателя адреса, что иллюстрируется рис. 6.6.

Недочет описанного метода представления информационного массива в ОЗУ заключается в том, что в нем нереально впрямую обратиться к подходящей записи — поиск ее осуществляется по цепочке переходов, непременно, увеличивая время доступа к данным.

От content

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Ads Blocker Image Powered by Code Help Pro

Обнаружен блокировщик рекламы! Пожалуйста, обратите внимание на эту информацию.

We\'ve detected that you are using AdBlock or some other adblocking software which is preventing the page from fully loading.

У нас нет баннеров, флэшей, анимации, отвратительных звуков или всплывающих объявлений. Мы не реализовываем эти типы надоедливых объявлений! Нам нужны деньги для обслуживания сайта, и почти все они приходят от нашей интернет-рекламы.

Пожалуйста, добавьте tehnar.info к вашему белому списку блокирования объявлений или отключите программное обеспечение, блокирующее рекламу.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock