Автор: Shadow 21.04.2003 1:02
:D вот на асме набрал программу
значит берется первая переменная сравнив со второй если первая больше то меняются местами
---
каждый рас после перезаписи массив начин сорт с начала
--
что за емтод кто знает???
Автор: ___ALex___ 21.04.2003 1:06
самая медленная сортировка - метод пузырька
вот ещё тебе два варианта её
Код
//сортировка методом пузырька на ассемблере
procedure BubbleSort(Mas: Pointer; Len: LongWord);
asm
dec Len
@CycleExt:
xor ebx,ebx
mov ecx,Len
mov esi,0
@CycleIn:
mov edi,Mas[esi]
cmp edi,Mas[esi+4]
jg @Exchange
add esi,4
loop @CycleIn
jmp @Check
@Exchange:
mov ebx,Mas[esi+4]
mov Mas[esi+4],edi
mov Mas[esi],ebx
add esi,4
loop @CycleIn
@Check:
cmp ebx,0
je @Exit
jmp @CycleExt
@Exit:
end;
//сортировка методом пузырька на паскале
procedure BubSort(var Mas: Array of Integer);
var
i: LongWord;
Tmp: Integer;
Fix: Boolean;
begin
repeat
Fix := False;
for i := 0 to Length(Mas) - 1 do
if Mas[i] > Mas[i + 1] then
begin
Tmp := Mas[i];
Mas[i] := Mas[i + 1];
Mas[i + 1] := Tmp;
Fix := True;
end;
until not Fix;
end;
Автор: GLuk 21.04.2003 19:58
Юзал бы модификацию QuickSort, доки я тебе вроде выслал
Автор: Shadow 21.04.2003 23:41
:-[ :-/ да вот дрова то не дошли пошли на два адреса