ВУЗ:
Составители:
Рубрика:
- 16 -
Пусть теперь требуется вставить 'd' после первого элемента списка
<'a', 'c'>. Решение состоит из двух этапов. Во-первых, необходимо создать
«носитель» – звено для хранения вставляемого элемента, и занести этот элемент
в поле elem «носителя». Во-вторых, путём изменения указателей включить
созданное звено в цепочку после первого звена. Первый этап реализуется
фрагментом new(q);q↑.elem:= 'd', где q – вспомогательная переменная
типа link. Фрагмент q↑.next:= L↑.next; L↑.next:=q осуществляет
второй этап вставки. Следующий рисунок иллюстрирует этапы вставки.
L
'a'
'c'
nil
q
{ L↑.next:= L↑.next↑.next }
L
'a'
'b'
'c' nil
q
{ dispose(q)
}
L
'a'
'c'
nil
'd'
q
{ new(q);q↑.elem:=’d’ }
{ L↑.next:= L↑.next↑.next } 'a' 'c' nil L 'b' q { dispose(q)} 'a' 'c' nil L q Пусть теперь требуется вставить 'd' после первого элемента списка <'a', 'c'>. Решение состоит из двух этапов. Во-первых, необходимо создать «носитель» – звено для хранения вставляемого элемента, и занести этот элемент в поле elem «носителя». Во-вторых, путём изменения указателей включить созданное звено в цепочку после первого звена. Первый этап реализуется фрагментом new(q);q↑.elem:= 'd', где q – вспомогательная переменная типа link. Фрагмент q↑.next:= L↑.next; L↑.next:=q осуществляет второй этап вставки. Следующий рисунок иллюстрирует этапы вставки. { new(q);q↑.elem:=’d’ } 'a' L 'c' nil q 'd' - 16 -
Страницы
- « первая
- ‹ предыдущая
- …
- 14
- 15
- 16
- 17
- 18
- …
- следующая ›
- последняя »