Реализация
Приведем фрагменты программ, решающих первую и третью задачи:
- {- голову списка обрабатываем отдельно -} while (head<>nil)and(head^.znach =0)do begin p:= head; head:= head^.next; dispose(p); end; {- середина и конец списка обрабатываются вместе -} p:= head; while p^.next <> nil do if p^.next^.znach = 0 then begin q:= p^.next; p^.next:= p^.next^.next; dispose(q); end else p:= p^.next;
- p:= head^.next; head^.next:= p^.next; p^.next:= p^.next^.next; head^.next^.next:= p;
Рис. 10.5. Примеры перестройки односвязных списков
on_load_lecture()
« |
1
|
2
|
3
|
4
|
вопросы | »
учебники
|
для печати и PDA
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование |