
20.12.2007, 18:29
|
|
Познающий
Регистрация: 18.12.2007
Сообщений: 32
С нами:
9682572
Репутация:
86
|
|
Сортировка выбором (selection sort).
Ищешь наимменьший элемент массива, который ставишь на место A[1], ишешь второй наименьший элемент, который ставишь на A[2]... Этот процесс продолжаешь для первых n-1 элементов массива.
Раборает за O(n*n).
Код:
for i:=1 to SIZE-1 do begin
min:=i;
for j:=i+1 to SIZE do
if a[j] > a [min]
then min:=j;
buf:=a[i]; a[i]:=a[min]; a[min]:=buf;
end;
Имхо, если брать произвольные числа, то heap-sort самое то- n*lg(n) (Но (!) хоть quick-sort в плохих случаях работает за n*lg(n) . . . . . n*n, тесты показывают, что он быстрее, связано с хз какой записью на винче).
З.Ы. Почитай Кормана.
|
|
|