ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »