рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Машинное представление стека и реализация операций

Машинное представление стека и реализация операций - раздел Образование, Полустатические структуры данных При Представлении Стека В Статической Памяти Для Стека Выде- Ляется ...

При представлении стека в статической памяти для стека выде-

ляется память, как для вектора. В дескрипторе этого вектора кроме

обычных для вектора параметров должен находиться также указатель

стека - адрес вершины стека. Указатель стека может указывать либо

на первый свободный элемент стека, либо на последний записанный в

стек элемент. (Все равно, какой из этих двух вариантов выбрать,

важно в последствии строго придерживаться его при обработке сте-

ка.) В дальнейшем мы будем всегда считать, что указатель стека

адресует первый свободный элемент и стек растет в сторону увели-

чения адресов.

При занесении элемента в стек элемент записывается на место,

определяемое указателем стека, затем указатель модифицируется та-

ким образом, чтобы он указывал на следующий свободный элемент

(если указатель указывает на последний записанный элемент, то

сначала модифицируется указатель, а затем производится запись

элемента). Модификация указателя состоит в прибавлении к нему или

в вычитании из него единицы (помните, что наш стек растет в сто-

рону увеличения адресов.

Операция исключения элемента состоит в модификации указателя

стека (в направлении, обратном модификации при включении) и вы-

борке значения, на которое указывает указатель стека. После вы-

борки слот, в котором размещался выбранный элемент, считается

свободным.

Операция очистки стека сводится к записи в указатель стека

начального значения - адреса начала выделенной области памяти.

Определение размера стека сводится к вычислению разности

указателей: указателя стека и адреса начала области.

Программный модуль, представленный в примере 4.1, иллюстри-

рует операции над стеком, расширяющимся в сторону уменьшения ад-

ресов. Указатель стека всегда указывает на первый свободный эле-

мент.

В примерах 4.1 и 4.3 предполагается, что в модуле будут

уточнены определения предельного размера структуры и типа данных

для элемента структуры:

const SIZE = ...;

type data = ...;

{==== Программный пример 4.1 ====}

{ Стек }

unit Stack;

Interface

const SIZE=...; { предельный размер стека }

type data = ...; { эл-ты могут иметь любой тип }

Procedure StackInit;

Procedure StackClr;

Function StackPush(a : data) : boolean;

Function StackPop(Var a : data) : boolean;

Function StackSize : integer;

Implementation

Var StA : array[1..SIZE] of data; { Стек - данные }

{ Указатель на вершину стека, работает на префиксное вычитание }

top : integer;

Procedure StackInit; {** инициализация - на начало }

begin top:=SIZE; end; {** очистка = инициализация }

Procedure StackClr;

begin top:=SIZE; end;

{ ** занесение элемента в стек }

Function StackPush(a: data) : boolean;

begin

if top=0 then StackPush:=false

else begin { занесение, затем - увеличение указателя }

StA[top]:=a; top:=top-1; StackPush:=true;

end; end; { StackPush }

{ ** выборка элемента из стека }

Function StackPop(var a: data) : boolean;

begin

if top=SIZE then StackPop:=false

else begin { указатель увеличивается, затем - выборка }

top:=top+1; a:=StA[top]; StackPop:=true;

end; end; { StackPop }

Function StackSize : integer; {** определение размера }

begin StackSize:=SIZE-top; end;

END.

– Конец работы –

Эта тема принадлежит разделу:

Полустатические структуры данных

Полустатические структуры данных Характерные особенности полустатических... Стеки Логическая... Очереди FIFO Логическая структура...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Машинное представление стека и реализация операций

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Характерные особенности полустатических структур
Полустатические структуры данных характеризуются следующими признаками: - они имеют переменную длину и простые процедуры ее изменения; - изменение длины структуры происхо

Логическая структура стека
Стек - такой последовательный список с переменной длиной, включение и исключение элементов из которого выполняются только с одной стороны списка, называемого вершиной стека. Приме

Стеки в вычислительных системах
Стек является чрезвычайно удобной структурой данных для многих задач вычислительной техники. Наиболее типичной из таких задач является обеспечение вложенных вызовов процедур.

Логическая структура очереди
Очередью FIFO (First - In - First- Out - "первым пришел - первым исключается"). называется такой последовательный список с переменной длиной, в котором включение элемент

Операций
При представлении очереди вектором в статической памяти в дополнение к обычным для дескриптора вектора параметрам в нем должны находиться два указателя: на начало очереди (на перв

Очереди с приоритетами
В реальных задачах иногда возникает необходимость в форми- ровании очередей, отличных от FIFO или LIFO. Порядок выборки элементов из таких очередей определяется приоритетами элеме

Очереди в вычислительных системах
Идеальным примером кольцевой очереди в вычислительной систе- мы является буфер клавиатуры в Базовой Системе Ввода-Вывода ПЭВМ IBM PC. Буфер клавиатуры занимает последовательность

Логическая структура дека
Дек - особый вид очереди. Дек (от англ. deq - double ended queue,т.е очередь с двумя концами) - это такой последовательный список, в котором как включение, так и исключение элемен

Деки в вычислительных системах
Задачи, требующие структуры дека, встречаются в вычислитель- ной технике и программировании гораздо реже, чем задачи, реализу- емые на структуре стека или очереди. Как правило, вс

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

Представление строк в памяти.
Представление строк в памяти зависит от того, насколько из- менчивыми являются строки в каждой конкретной задаче, и средства такого представления варьируются от абсолютно статичес

ПРЕДСТАВЛЕНИЕ СТРОК ВЕКТОРОМ ПЕРЕМЕННОЙ ДЛИНЫ С ПРИЗНАКОМ
КОНЦА. Этот и все последующие за ним методы учитывают переменную длину строк. Признак конца - это особый символ, принадлежащий ал- фавиту (таким образом, полезный

ПРЕДСТАВЛЕНИЕ СТРОК ВЕКТОРОМ ПЕРЕМЕННОЙ ДЛИНЫ СО СЧЕТЧИКОМ.
Счетчик символов - это целое число, и для него отводится доста- точное количество битов, чтобы их с избытком хватало для предс- тавления длины самой длинной строки,какую только мо

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги