ВУЗ:
Составители:
Рубрика:
37
Внутренний цикл сдвига можно проиллюстрировать на примере удаления
седьмого элемента из массива, содержащего 10 элементов (рис. 5.2).
a
2
a
1
a
3
a
4
a
5
a
6
a
7
a
8
a
9
a
10
a
2
a
1
a
3
a
4
a
5
a
6
a
7
a
8
a
9
a
10
Исходный массив
1-я итерация цикла
a
2
a
1
a
3
a
4
a
5
a
6
a
8
a
8
a
9
a
10
результат
a
2
a
1
a
3
a
4
a
5
a
6
a
8
a
8
a
9
a
10
2-я итерация цикла
a
2
a
1
a
3
a
4
a
5
a
6
a
8
a
9
a
9
a
10
результат
a
2
a
1
a
3
a
4
a
5
a
6
a
8
a
9
a
9
a
10
3-я итерация цикла
a
2
a
1
a
3
a
4
a
5
a
6
a
8
a
9
a
10
a
10
результат
Рис. 5.2. Схема удаления элемента из массива
У
д
аляемый элемент
В программе удаление элементов, находящихся справа от максимального,
будет выглядеть следующим образом:
i:=i_max;
while i<=n do
begin
if a[i]<0 then
begin
for j:=i to n-1 do
a[j]:=a[j+1];
n:=n-1;
end
else
i:=i+1;
end;
Еще одна тонкость данного фрагмента состоит в том, что переход к следую-
щему элементу (
i:=i+1) для проверки осуществляется только тогда, когда эле-
мент не удовлетворяет условию. Если же
i-й элемент окажется отрицательным, то
Страницы
- « первая
- ‹ предыдущая
- …
- 36
- 37
- 38
- 39
- 40
- …
- следующая ›
- последняя »