ВУЗ:
Составители:
20
1) можно воспользоваться функцией
search_Bin; но если массив
небольшого размера, то эффективней использовать функцию
search_Lin,
так как ее циклический процесс содержит меньше операций;
2) этот алгоритм содержит два последовательных цикла: для определе-
ния позиции элемента и для сдвига элементов массива..
Метод решения 2.
Рассмотрим алгоритм вставки в упорядоченный массив, основанный на
следующей идее: искать позицию для значения
x будем с одновременным
сдвигом элементов вправо.
Опишем алгоритм в виде процедуры
Insert.
const n_max=20;
type Tip= integer;
vect=array[1..n_max] of Tip;
Procedure Insert( n:integer; var a:vect;
x:Tip);
var i:integer;
begin
i:=n;
while (i>0 ) and (a[i] > x) do
begin
a[i+1]:=a[i]; i:=i-1
end;
a[i+1]:=x;
end;
Замечание. В алгоритме не предусматривается изменение количества
элементов в массиве. Если для конкретной задачи это важно, то следует вне-
сти в процедуру следующие изменения:
• в заголовке процедуры объявить n выходным параметром
(var n:integer);
• в теле процедуры добавить оператор n:=n+1;
Операция удалить.
Страницы
- « первая
- ‹ предыдущая
- …
- 18
- 19
- 20
- 21
- 22
- …
- следующая ›
- последняя »