Линейные списки. Стек. Дек. Очередь
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: реферати, сочинение 5 класс
| Добавил(а) на сайт: Губанов.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
SpisokTwo = record
Info: Integer; - Информационное поле
Next: ListTwo; - Ссылка на следующий элемент
Prev: ListTwo; - Ссылка на предыдущий элемент end;
Создание списка procedure CreateLists; - процедура создания списка begin
X := Random(101); Определяем значение первого элемента
Uk := nil; Указателям присваиваем nil. q := nil;
AddToList (X, Uk); Добавляем элемент Х в список.
q := Uk; Формируем указатель на начало списка.
for i := 1 to 9 do Добавляем оставшиеся элементы в список. begin
X := Random(101);
AddToList (X, q); end;
ListBegin := Uk; Определяем указатель списка. end;
Уничтожение списка
procedure DestroyList (PointerBegin: List); Процедура уничтожения списка
(PointerBegin – указатель на начало списка).
begin while PointerBegin nil do Если указатель не nil, то begin q := PointerBegin;
PointerBegin := PointerBegin ^.Next; Ссылка на следующий. if q nil then Dispose(q); Уничтожение. end; end;
Добавление элемента в список
procedure AddToList(X: Integer; var PointerEndList: List);
Добавить элемент в конец списка
(PointerEndList - указатель на последний элеменB? списка)
begin if PointerEndList = nil then
Если первый элемент еще не существует или список пуст, то begin
New(PointerEndList); Создаем новую переменную
PointerEndList ^.Info := X; Инф. Части присваиваем элем. Х
PointerEndList ^.Next := nil; Ссылке на следующий - nil end else иначе добавляем в список begin
New(PointerEndList ^.Next); Создаем новую ссылку
PointerEndList := PointerEndList ^.Next;
Указателю присвоить ссылку на след. элемент
PointerEndList ^.Info := X;
PointerEndList ^.Next := nil; end; end;
Удаление элемента из списка.
procedure DeleteFromList(Position: Integer);
Удаляет элемент под номером Position
begin q := ListBegin; Присваивается ссылка на первый элемент if q nil then Если список не пуст, то
begin if Position = 0 then Если позиция = 0, то удаляем первый элемент begin
ListBegin := 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 q^. Next := r^. Next; if r nil then Dispose(r); end end; end end;
Глава 2. Разработка факультативного курса «Динамические типы данных»
Рекомендуем скачать другие рефераты по теме: гигиена реферат, курсовик.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата