ВУЗ:
Составители:
Рубрика:
- 12 -
for p:=L.last downto i do
{перемещение значений из компонент i,i+1,…,last на
одну компоненту к концу массива}
L.elems[p+1]:=L.elems[p];
L.elems[i]:=x;
L.last:=L.last+1; {длина списка увеличивается на 1}
end; {insert}
Итак, чтобы вставить значение Thursday перед третьим элементом списка L,
в программе следует использовать оператор insert(L, Thursday,3).
Процедуру insert можно использовать и для вставки элемента в пустой
список, задав единицу в
качестве третьего параметра. Например,
make_null(L); insert(L, Sunday,1):
{make_null(L)}
Теперь покажем, как создать наш исходный список < Monday,
Wednesday, Friday, Saturday >. Такой список получится в результате
выполнения следующей последовательности операторов: make_null(L);
insert(L, Saturday,1); insert(L, Friday,1); insert(L,
Wednesday,1); insert(L, Monday,1).
Для удаления i-го элемента опишем процедуру delete(L,i).
procedure delete(var L: list; i:integer);
{ удаляет из списка L i-й элемент }
var p: integer;
begin
for p:=i to L.last-1 do
{перемещение значений из компонент i+1,
i+2,…,last на одну компоненту к началу
массива}
L.elems[p]:=L.elems[p+1];
L.last:=L.last-1;{длина списка уменьшается на 1}
end; {delete}
При использовании процедур insert и delete следует проявлять
осторожность: нельзя вставлять элемент, если длина списка максимальна, т.е.
L
0
…
{insert(L,
Sunday,1)
}
L
Sunday
1
…
for p:=L.last downto i do {перемещение значений из компонент i,i+1,…,last на одну компоненту к концу массива} L.elems[p+1]:=L.elems[p]; L.elems[i]:=x; L.last:=L.last+1; {длина списка увеличивается на 1} end; {insert} Итак, чтобы вставить значение Thursday перед третьим элементом списка L, в программе следует использовать оператор insert(L, Thursday,3). Процедуру insert можно использовать и для вставки элемента в пустой список, задав единицу в качестве третьего параметра. Например, make_null(L); insert(L, Sunday,1): {make_null(L)} L 0 L Sunday 1 … {insert(L, … Sunday,1)} Теперь покажем, как создать наш исходный список < Monday, Wednesday, Friday, Saturday >. Такой список получится в результате выполнения следующей последовательности операторов: make_null(L); insert(L, Saturday,1); insert(L, Friday,1); insert(L, Wednesday,1); insert(L, Monday,1). Для удаления i-го элемента опишем процедуру delete(L,i). procedure delete(var L: list; i:integer); { удаляет из списка L i-й элемент } var p: integer; begin for p:=i to L.last-1 do {перемещение значений из компонент i+1, i+2,…,last на одну компоненту к началу массива} L.elems[p]:=L.elems[p+1]; L.last:=L.last-1;{длина списка уменьшается на 1} end; {delete} При использовании процедур insert и delete следует проявлять осторожность: нельзя вставлять элемент, если длина списка максимальна, т.е. - 12 -
Страницы
- « первая
- ‹ предыдущая
- …
- 10
- 11
- 12
- 13
- 14
- …
- следующая ›
- последняя »