- •I: Byte; I: Byte;
- •Связанный список
- •Var Заголовок: Указатель_на_узел;
- •Interface
- •Var a:array[1..10] of ta;
- •Var Key: Char);
- •Var Key: Char);
- •Var Key: Char);
- •Структура модели списка. Модуль построения и редактирования списка
- •Interface
- •Implementation
- •Создание (построение) и опустошение списка
- •Var I:integer;
- •Var temp:pTelem;
- •Вывод содержимого информационных полей списка (прямая и обратная печать)
- •Включение и удаление узлов списка
- •Var I:integer; temp:ptElem;
- •Var I:integer;
- •Поиск узла по номеру
- •Var I:integer;
Var I:integer;
begin
current:=L.first; {ставим служебный указатель current на
первый узел списка}
if L.count<>0 then begin
for i:=1 to t-1 do current:=current^.next;{цикл прохода
по списку }
current^.prev^.next:=current^.next; {устанавливаем
связъ по указателю next между узлом
предшествующим удаляемому и
узлом следующим за ним (слева-направо).}
current^.next^.prev:=current^.prev;{устанавливаем
связъ по указателю prev между узлом
следующим за удаляемым и узлом
предшествующим ему (справа-налево).}
dispose(current); {удаления выбранного узла}
current:=nil;
L.Count:=L.count-1;{узлов в списке стало на один
меньше}
end;
end;
end.
Поиск узла по номеру
Алгоритм процедуры SearchNode (поиск узла по заданному номеру) пол-ностью аналогичен алгоритму процедуры прямой печати PrintFirst. В процедуре SearchNode также организован цикл для перемещения указателя current по узлам списка, начиная с первого. Однако такой цикл завершит свою работу, как только текущий указатель current “встанет” на заданный узел. За циклом следует оператор(mem.Add) для вывода содержимого информационных полей текущего узла в окно компонента memo1 через свойство lines:
procedure SearchNode (mem:TStrings);
Var I:integer;
begin
current:=L.first;
if L.count<>0 then begin
for i:=1 to t-1 do
current:=current^.next;
mem.Add(current^.down.M+' '+current^.down.N+
' '+current^.down.W);
end;
end;
Литература
1. Просуков Е.А., Пащенко О.Б. Работа с динамическими структурами данных.Ч.1. Ссылки, структуры, списки записей: Учебно-методическое пособие по курсу «Вычислительная техника и информационная технология» М.:Изд-во МГТУ им. Н.Э.Баумана, 2003г. 37с.
2. Иванова Г.С., Ничушкина Т.Н., Пугачев Е.К. «Объектно-ориентированное программирование»: Учеб. для вузов/Под ред. Г.С. Ивановой. – М.:Изд.-во МГТУ им. Н.Э. Баумана, 2001..
3. Пащенко О.Б. Объектно-ориентированное программирование. Статические, динамические и виртуальные методы: Учебное пособие по курсу «Вычислительная техника и информационная технология» М.:Изд-во МГТУ им. Н.Э.Баумана, 2004г. 23с.
4.Глушаков С.В., Клевцов А.Л., Теребилов С.А. Программирование на DELPHI 5.0 – Харьков:Фолио,2002.
