Rambler's Top100

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

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

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

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

 

Реализация ОЧЕРЕДИ на базе ccылок.

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

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

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

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

Пусть Type InformType=byte;{Информационная часть}

QPtr=^Queue1;
Queue1=record
inf:InformType;
next:QPtr;
end;

var a:qptr;

3.2.2 Алгоритмы :

{Очередь пуста или нет.}
function NilExist(а:QPtr):boolean;
begin
NilExist:=a=nil;
end;

{Добавить элемент в конец очереди.}
procedure AddElem(var a:QPtr;inf:InformType);
var k,l:QPtr;
begin
New(l);
l^.inf:=inf;
l^.next:=nil;
if a<>nil then
begin
k:=a;
while k^.next<>nil do k:=k^.next;
k^.next:=l;
end else
a:=l;
end;

{Взять элемент из начала очереди.}
procedure GetElem(a:QPtr;var inf:InformType); begin
if a<>nil then inf:=a^.inf;
end;

{Удалить элемент из начала очереди.}
procedure DelElem(Var a:Qptr);
var n:QPtr;
begin
n:=a;
a:=a^.next;
dispose(n)
end;

{Удалить очередь.} procedure DelQueue(var stack:TS);
begin
while a<>nil do DelElem(a);
end;

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

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

 

Hosted by uCoz