Линейные списки. Стек. Дек. Очередь
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: реферати, сочинение 5 класс
| Добавил(а) на сайт: Губанов.
Предыдущая страница реферата | 15 16 17 18 19 20 21 22 23 24 25 | Следующая страница реферата
PointerEndListTwo := PointerEndListTwo^.Next;
PointerEndListTwo^.Info := X;
PointerEndListTwo^.Next := nil;
PointerEndListTwo^.Prev := nil; end; end;
procedure AddToListTwoAfterPos(X: Integer; Position: Integer); var //Добавить элемент в двунап. список после Position i: Integer; q, qNew: ListTwo; begin if Position = 0 then //Если позиция = 0, вставляем в начало begin
New(qNew); qNew^.Info := X; qNew^.Next := ListTwoBegin;
ListTwoBegin := qNew; end else begin q := ListTwoBegin; 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; qNew^.Prev := q;
q^.Next := qNew; end else ShowMessage('Элемент, после которого хотите вставить, удален'); end; end;
procedure DeleteFromListTwo(Position: Integer); //Удаляет элемент
//под номером Position var i: Integer; q, r: ListTwo; begin q := ListTwoBegin; if q nil then //Если удаляемый элемент существует, то begin if Position = 0 then //Если позиция = 0, то удаляем первый элемент begin
ListTwoBegin^.Prev := nil;
ListTwoBegin := q^.Next; if q nil then Dispose(q); end else begin i := 0; while (i < Position - 1) and (q nil) do //Ищем элемент
// после которого нужно удалить begin q := q^.Next;
Inc(i); end; r := q^.Next; if r nil then //Если он существует, то удаляем его begin if r^.Next nil then r^.Next^.Prev := q; q^.Next := r^.Next; if r nil then Dispose(r); end else ShowMessage('Элемент уже не существует'); end; end else begin
ShowMessage('Список пуст');
Form1.Image2.Hide; end; end;
procedure AddToQueue(X: Integer; var PointerEndQueue: List); //Добавить элемент
//в конец очереди (PointerEnd - указатель на последний элемент очереди) begin if PointerEndQueue = nil then //Если очередь еще не существует или пуста
//добавляем в начало begin
New(PointerEndQueue);
PointerEndQueue^.Info := X;
PointerEndQueue^.Next := nil; end else begin
Рекомендуем скачать другие рефераты по теме: гигиена реферат, курсовик.
Категории:
Предыдущая страница реферата | 15 16 17 18 19 20 21 22 23 24 25 | Следующая страница реферата