сортировка хоара



Автор DEBIL . задал вопрос в разделе Другие языки и технологии

Нужно создать алгоритм сортировки методом Хоара и получил лучший ответ

Ответ от DiG DeePeR[гуру]
Почитай комментарии к этой статье:
http:// ссылка. com/Programming/Languages/Pascal/Delphi/Q_11641640.html
Там человек по имени Jacco предлагает несколько вариантов не рекурсивного алгоритма быстрой сортировки.
Удачи!
UPD:
Нашел в кэше Яндекса пример нерекурсивной реализации через стек:
procedure quickSort (var X: itemArray; n: integer);
type
p_node = ^node;
node = record
node: integer;
next: p_node
end;
var
l,r,i,j: integer;
stack: p_node;
temp: item;
procedure push(i: integer);
var
temp: p_node;
begin
new(temp);
temp^.node:=i;
temp^.next:=stack;
stack:=temp
end;
function pop: integer;
var
temp: p_node;
begin
if stack=nil then
pop:=0
else
begin
temp:=stack;
pop:=stack^.node;
stack:=stack^.next;
dispose(temp)
end
end;
begin
stack:=nil;
push(n-1);
push(0);
repeat
l:=pop;
r:=pop;
if r-l=1 then
begin
if compare(X[ l ],X[ r ]) then
change(X[ l ],X[ r ])
end
else
begin
temp:=x[ (l+r) div 2 ]; {random(r-l+1)+l
i:=l;
j:=r;
repeat
while compare(temp,X[ i ]) do i:=i+1;
while compare(X[ j ],temp) do j:=j-1;
if i<=j then
begin
change(X[ i ],X[ j ]);
i:=i+1;
j:=j-1
end;
until i > j;
if l < j then
begin
push(j);
push(l)
end;
if i < r then
begin
push(r);
push(i)
end
end;
until stack=nil
end;
Попробуй, может поможет..
Источник: ссылка заблокирована

Ответ от Николай[гуру]
на

Ответ от Sm[гуру]
стучи в аську или агент

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Нужно создать алгоритм сортировки методом Хоара
Быстрая сортировка на Википедии
Посмотрите статью на википедии про Быстрая сортировка
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*