ВУЗ:
Составители:
Рубрика:
148
for j:=1 to i-1 do
{обработка a[j]}
Случай 2. Основной массив просматривается слева направо, а подмассив -
справа налево.
for i:=2 to n do
begin
j:=i-1;
while j>0 do
begin
{обработка a[j]}
j:=j-1
end
end.
Случай 3. Основной массив просматривается справа налево, а подмассив -
слева направо.
i:=n;
while i>1 do
begin
for j:=1 to i-1 do {обработка a[j]};
i:=i-1
end.
Случай 4. Основной массив просматривается справа налево, а подмассив -
справа налево.
i:=1;
while i>1 do
begin
j:=i-1;
while j>0 do
begin
{обработка a[j]}
j:=j-1
end;
i:=i-1
end.
11.5. Нелинейные схемы перебора элементов массива
Нетрудно заметить, что все рассмотренные ранее схемы перебора
основывались на линейном изменении индекса массива, т.е. один шаг цикла
отличался от другого шага цикла на величину постоянную и неизменную. Если
величина шага цикла будет величиной переменной, то имеем случай нелинейной
схемы перебора.
Пример 11.4. Нужно обработать элементы массива с индексами 2, 4, 8, 16,
32, ... Получаем нелинейную схему перебора:
i:=2;
while i<=n do
148 for j:=1 to i-1 do {обработка a[j]} Случай 2. Основной массив просматривается слева направо, а подмассив - справа налево. for i:=2 to n do begin j:=i-1; while j>0 do begin {обработка a[j]} j:=j-1 end end. Случай 3. Основной массив просматривается справа налево, а подмассив - слева направо. i:=n; while i>1 do begin for j:=1 to i-1 do {обработка a[j]}; i:=i-1 end. Случай 4. Основной массив просматривается справа налево, а подмассив - справа налево. i:=1; while i>1 do begin j:=i-1; while j>0 do begin {обработка a[j]} j:=j-1 end; i:=i-1 end. 11.5. Нелинейные схемы перебора элементов массива Нетрудно заметить, что все рассмотренные ранее схемы перебора основывались на линейном изменении индекса массива, т.е. один шаг цикла отличался от другого шага цикла на величину постоянную и неизменную. Если величина шага цикла будет величиной переменной, то имеем случай нелинейной схемы перебора. Пример 11.4. Нужно обработать элементы массива с индексами 2, 4, 8, 16, 32, ... Получаем нелинейную схему перебора: i:=2; while i<=n do
Страницы
- « первая
- ‹ предыдущая
- …
- 144
- 145
- 146
- 147
- 148
- …
- следующая ›
- последняя »