ВУЗ:
Составители:
Рубрика:
99
предыдущего элемента, как в рассмотренных выше примерах, а значение начального
указателя.
Операция удаления реализуется одним оператором
First := First^.C;
а операция вставки - двумя операторами:
New^.C := First;
First := New;
Пример:
Program spisok;
Type
name = string[10];
ukaz = ^element;
element = record
uk : ukaz;
dan: name
end;
Var
kniga : name;
nach,tek,ob,obpr : ukaz;
i : integer;
Begin { формирование 1-го элемента списка }
New(nach);
ReadLn;
WriteLn('введите первое название');
Read(kniga);
nach^.uk := nil;
nach^.dan := kniga;
While kniga <> 'AAAAA' do { формирование списка }
Begin
tek := nach;
New(ob);
WriteLn(' Введите очередное название ');
Read(kniga);
While (tek<>nil) and (tek^.dan < kniga) do
{ Поиск подходящего места }
Begin
obpr := tek; { ссылка на предыдущий элемент }
tek := tek^.uk { переход к следующему элементу }
End;
{ вставка нового элемента }
ob^.uk := tek;
ob^.dan := kniga;
If tek = nach then
nach := ob
Else
obpr^.uk := ob
End; { конец формирования списка }
WriteLn(' каталог учебников:'); { вывод на экран дисплея
упорядоченного каталога книг }
tek := nach;
While tek^.uk <> nil do
Begin
предыдущего элемента, как в рассмотренных выше примерах, а значение начального
указателя.
Операция удаления реализуется одним оператором
First := First^.C;
а операция вставки - двумя операторами:
New^.C := First;
First := New;
Пример:
Program spisok;
Type
name = string[10];
ukaz = ^element;
element = record
uk : ukaz;
dan: name
end;
Var
kniga : name;
nach,tek,ob,obpr : ukaz;
i : integer;
Begin { формирование 1-го элемента списка }
New(nach);
ReadLn;
WriteLn('введите первое название');
Read(kniga);
nach^.uk := nil;
nach^.dan := kniga;
While kniga <> 'AAAAA' do { формирование списка }
Begin
tek := nach;
New(ob);
WriteLn(' Введите очередное название ');
Read(kniga);
While (tek<>nil) and (tek^.dan < kniga) do
{ Поиск подходящего места }
Begin
obpr := tek; { ссылка на предыдущий элемент }
tek := tek^.uk { переход к следующему элементу }
End;
{ вставка нового элемента }
ob^.uk := tek;
ob^.dan := kniga;
If tek = nach then
nach := ob
Else
obpr^.uk := ob
End; { конец формирования списка }
WriteLn(' каталог учебников:'); { вывод на экран дисплея
упорядоченного каталога книг }
tek := nach;
While tek^.uk <> nil do
Begin
99
Страницы
- « первая
- ‹ предыдущая
- …
- 97
- 98
- 99
- 100
- 101
- …
- следующая ›
- последняя »
