Курсовая работа: Динамические структуры данных. Решение задач. Стек. Очередь. Дек

Writeln;

I : =1; { указатель вершины ставится на вершину стека}

While And Do Begin

Writeln;

Inc

End ;

End; {list}

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

Procedure push ;

Var i : Integer ; {процедура вставки}

Begin

For i: =n Downto 2 Do s: =s;

S : = x

End ; { push }

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

Функция «взять элемент» в переменную заключена в том, чтобы считать элемент в переменную и удалить его из стека. Функции мы присваиваем значение вершины стека, после чего сдвигаем весь стек на одну ячейку влево. В цикле присваиваем I – тому I+1 значение. Последнему члену массива – «дно» стека присваиваем –1000.

Function pop : typeelem ; { считывание с удалением}

Var i: Integer;

Begin

Pop: =s;

For i: =1 To n-1 Do s: =s;

S : =-1000

End ; { pop }

Функция вершина стека: значению функции присваиваем значение вершины стека.

Function stacktop : typeelem ; { считывание без удаления }

Begin

Stacktop: =s

End; {stacktop}

Функция стек пуст: если значение вершины стека не равняется –1000, то функции присваиваем значение логической переменной FALSE .

Function empty: Boolean; { проверка на пустоту }

К-во Просмотров: 1600
Бесплатно скачать Курсовая работа: Динамические структуры данных. Решение задач. Стек. Очередь. Дек