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