WriteLn;. Begin головная программа
End;
Begin головная программа
ClrScr;
WriteLn(‘Создание списка’);
WriteLn;
Formir_spisok; обращение к процедуре создания списка
WriteLn(‘Введено чисел: ’, head^.Inf);
WriteLn(‘Введенные числа:’);
Vyvod_spisok; обращение к процедуре вывода списка
WriteLn;
WriteLn(‘Вставка элементов в список’);
WriteLn;
Repeat
New(r);
WriteLn;
Write(‘Новый элемент: ’);
ReadLn(r^.Inf); информационная часть нового элемента
If (r^.Inf = 0) если она равна нулю,
Then Break; то выходим из цикла ввода
Write(‘После какого: ’);
ReadLn(posle);
flag := 0; флаг поиска равен нулю – элемент пока не найден
q := head^.Next; поисковый указатель q – в голову списка
While (q <> Nil) Do пока не конец списка
If (q^.Inf = posle) ищем нужный элемент
Then
Begin
flag := 1; если элемент найден:
Break; выходим из цикла поиска
End
Else q := q^.Next; иначе делаем шаг по списку
If (flag = 0) Then если элемент не найден:
Begin
WriteLn(‘Такого элемента в списке нет’);
WriteLn(‘Список:’);
Vyvod_spisok; выводим список
Continue; и продолжаем цикл ввода
End;
r^.Next := q^.Next; если элемент найден,
q^.Next := r; то вставляем его в список
head^.Inf := head^.Inf + 1; увеличиваем счетчик элементов на единицу
WriteLn;
WriteLn(‘Новый список:’);
Vyvod_spisok; выводим новый список
Until (r^.Inf = 0); окончание цикла ввода
WriteLn(‘Список:’);
Vyvod_spisok; выводим окончательный список
ReadLn;
End.
Дата добавления: 2015-08-08; просмотров: 531;