Реализации алгоритмов/Сортировка/Шелла: различия между версиями

Содержимое удалено Содержимое добавлено
→‎C#: дополнение, обновление данных
Нет описания правки
Строка 320:
}
}
</source>
 
 
== [[w:PL/SQL|PLSQL]] ==
<source lang="plsql">
type sort_lst is table of integer;
----------------------Шеллосортировка-----------------------------------------------
Function Shell_sort(in_list IN sort_lst) return sort_lst
IS
l_list mish_sort.sort_lst := mish_sort.sort_lst();
l_length pls_integer;
b pls_integer; dbms_job pls_integer; k number; h pls_integer; j pls_integer;
v pls_integer := 1 ;
l_sqlcode varchar2(400);
rounding_error constant number:= 1;
begin
l_list := in_list;
b := l_list.last;
k:= b/2;
while k>=1 loop
for i in 1..b-k loop
j:=i;
if round(j+k) < l_list.last then --чтобы не выйти за пределы массива PL SQL
while (j>=1) and (l_list(j)>l_list((j+k))) loop
h:= l_list(j);
l_list(j):=l_list(j+k);
l_list(j+k):=h;
j:=j-1;
end loop;
end if;
end loop;
k:=k/2;
end loop;
return l_list;
end Shell_sort;
------------------------------------------------------------------------------------
</source>