Линейные списки. Стек. Дек. Очередь
Категория реферата: Рефераты по информатике, программированию
Теги реферата: реферати, сочинение 5 класс
Добавил(а) на сайт: Губанов.
Предыдущая страница реферата | 13 14 15 16 17 18 19 20 21 22 23 | Следующая страница реферата
implementation uses Unit1;
procedure DestroyList(PointerBegin: List); var q: List; begin while PointerBegin nil do begin q := PointerBegin;
PointerBegin := PointerBegin^.Next; if q nil then Dispose(q); end; end;
procedure DestroyListTwo(PointerBegin: ListTwo); var q: ListTwo; begin while PointerBegin nil do begin q := PointerBegin;
PointerBegin := PointerBegin^.Next; if q nil then Dispose(q); end; end;
procedure DestroyRoundList(var PointerRoundList: List);
var q, t: List;
begin q := PointerRoundList^.Next;
PointerRoundList^.Next := nil; while q nil do begin t := q; q := q^.Next; if t nil then Dispose(t); end;
PointerRoundList := nil;
end;
procedure AddToList(X: Integer; var PointerEndList: List); //Добавить элемент в
//конец списка (PointerEnd - указатель на последний элемент списка) begin if PointerEndList = nil then // Если первый элемент еще не существует begin
New(PointerEndList);
PointerEndList^.Info := X;
PointerEndList^.Next := nil; end else begin
New(PointerEndList^.Next);
PointerEndList := PointerEndList^.Next;
PointerEndList^.Info := X;
PointerEndList^.Next := nil; end; end;
procedure AddToListAfterPos(X: Integer; Position: Integer); var //Добавить элемент в список после Position i: Integer; q, qNew: List; begin if Position = 0 then // Если позиция = 0, то добавляем в начало begin
New(qNew); qNew^.Info := X; qNew^.Next := ListBegin;
ListBegin := qNew; end else begin q := ListBegin; i := 0; while (i < Position) and (q nil) do // Ищем элемент после которого
// нужно вставить begin q := q^.Next;
Inc(i); end; if q nil then // Если элемент существует то вставляем begin
New(qNew); qNew^.Info := X; qNew^.Next := q^.Next; q^.Next := qNew; end else ShowMessage('Элемент, после которого хотите вставить, удален'); end; end;
procedure AddToRoundList(X: Integer; var PointerRoundList: List); var qRound: List; begin if PointerRoundList = nil then begin
New(PointerRoundList);
PointerRoundList^.Info := X;
PointerRoundList^.Next := PointerRoundList;
Рекомендуем скачать другие рефераты по теме: гигиена реферат, курсовик.
Предыдущая страница реферата | 13 14 15 16 17 18 19 20 21 22 23 | Следующая страница реферата