Информационный портал Media Systems & Bear Corp.

Главная Новости Delphi C&C++ Tеория Графов Web-Design Математика Исходники и Проекты Лисп и Пролог Ссылки

Портал :: Динамическая память :: Стек
 
DINAMIC MEMORY
 
 

  • Динамическая память под DOS реализация для языка Borlad Pascal
Rambler's Top100  
 


Реализация СТЕКА на базе вектора. Ну это должно быть всем понятно! Приведено так - для порядка....

2.1 Реализация.

1) Проверить наличие элементов в стеке.(Функция)
2) Проверить стек полон.(Функция)
3) Добавить элемент в стек.(Процедура)
4) Взять элемент из стека.(Процедура)
5) Удалить элемент из стека.(Процедура)
6) Удалить стек.(Процедура)

2.2 Процедуры и функции.

2.2.1 Основные типы и переменные :

Введем константу Nmax - максимальное кол-во элементов в стеке.
Пусть const Nmax=100;

Type InformType=byte;{Информационная часть}
VectType=array[1..Nmax] of InformType;
TS=^stack;
stack=record
vect:VectType;
t:0..Nmax;
end;

var a:st;

2.2.2 Алгоритмы :

{Проверить наличие элементов в стеке.(Стек пуст или нет)}
function NilExist(stack:TS):boolean;
begin NilExist:=stack.t=0; end;

{Стек полон или нет ?}
function FullExist(stack:TS):boolean;
begin FullExist:=stack.t=Nmax; end;

{Добавить элемент в стек.}
procedure AddElem(var stack:TS;inf:InformType);
begin
if not FullExist(stack) then
begin
stack.t:=stack.t+1;
stack.vect[stack.t]:=inf;
end;
end;


{Взять элемент из стека.}
procedure GetElem(stack:TS;var inf:InformType);
begin
if not FullExist(stack) then inf:=stack.vect[stack.t];
end;


{Удалить элемент из стека.}
procedure DelElem(Var stack:TS);
begin
if not NilExist(stack) then stack.t:=stack.t-1;
end;

{Удалить стек.}
procedure DelStack(var stack:TS);
begin
stack.t:=0;
end;

 
     
  Гостевая книга . Связь с разработчиками: Bear Corporation, Media Studio.  
  Это место для вашей рекламы  

Дизайн: Bear Corner, Inc. & Media Sudio.
Последнее обновление: 24.03.2001.

 

Hosted by uCoz