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

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

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

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


Реализация СТЕКА на базе указателей. Здесь приводятся необходимые процедуры. Как обычно без лишних слов.

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

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

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

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

Type InformType=byte;{Информационная часть}
SPtr=^stack;
stack=record
inf:InformType;
next:SPtr;
end;

var a:sptr;

1.2.2 Алгоритмы :

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

{Добавить элемент в стек.}
procedure AddElem(var a:Sptr;inf:InformType);
var n:SPtr;
begin
new(n);
n^.inf:=inf;
n^.next:=a;
a:=n
end;

{Взять элемент из стека.}
procedure GetElem(stack:SPtr;var inf:InformType);
begin
if a<>nil then inf:=a^.inf; //присваиваем указатель на следующий элемент
end;

{Удалить элемент из стека.}
procedure DelElem(Var a:SPtr);
var n:SPtr;
begin
if a<>nil then begin
n:=a;
a:=a^.next;
dispose(n);// чистим память как порядочные люди
end;
end;

{Удалить стек.}
procedure DelStack(var a:SPtr);
begin
while a<>nil do DelElem(a);
end;

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

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

 

Hosted by uCoz