Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
структуры и алгоритмы / Лекции_лабор_структ.doc
Скачиваний:
56
Добавлен:
04.06.2015
Размер:
2.98 Mб
Скачать

2 Простейшие статические структуры

2.1 Характерные свойства статических структур

В этом разделе будут рассматриваться структуры (векторы, массивы, записи и таблицы), характеризующиеся следующими свойствами.

1. Постоянство структуры в течение всего времени ее существования.

2. Смежность элементов и непрерывность области памяти, отводимой сразу для всех элементов структуры.

3. Простота и постоянство отношений между элементами структуры, позволяющие исключить информацию об этих отношениях из области памяти, выделенной для элементов структуры, и хранить ее, например, в компактной форме в дескрипторах.

В силу перечисленных свойств векторы, массивы, записи и таблицы принято считать статическими структурами.

2.2 Векторы

Одна из простейших структур данных, имеющаяся во всех алгоритмических языках - вектор (одномерный массив), - конечное упорядоченное множество простых данных, или скаляров, одного и того же типа, называемых элементами вектора. Элементы вектора находятся друг с другом в единственно возможном отношении - отношении непосредственного следования. Строгая упорядоченность элементов вектора позволяет пронумеровать их последовательными целыми числами, которые называются индексами или селекторами элементов.

Каждому элементу вектора ставится в соответствие определенное значение индекса, которое дает возможность однозначно идентифицировать соответствующий элемент. Логическая структура вектора полностью определяется числом и типом элементов вектора.

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

Над вектором также могут выполняться:

- операции определения нижней и верхней границ индекса по заданному имени вектора;

- операция, позволяющая получить описание элемента вектора (например, тип и длину).

Физическая структура вектора представляется в машинной памяти последовательностью одинаковых по длине участков памяти, называемых полями или слотами, каждый из которых предназначен для хранения одного элемента вектора. Слот может иметь размер минимальной адресуемой ячейки памяти (например, размер в 1 байт) или соответствовать целой группе последовательных ячеек памяти. Если слот состоит из нескольких ячеек памяти, то его адресом обычно считают адрес самой левой ячейки.

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

Соседние файлы в папке структуры и алгоритмы