Selection Sort
Ktos
Selection sort, czyli sortowanie przez wybór. Algorytm ten jest jednym z najprostszych algorytmów sortowania. Polega on na tym, że zamieniamy miejscami największy element z aktualnym i tym sposobem największy wędruje nam na koniec. Potem kolejny obrót pętli, ale ostatniego elementu nie bierzemy pod uwagę itd.
const
n=5; {a niech będzie pięc elementów}
type
TTablice=array[1..n] of real; {tablica :)}
var
a:TTablice;
i:byte;
procedure sortuj(var tabl:TTablice; ost:integer);
{procedura sortowania tablicy tabl, w której ostatni element ma indeks ost}
var j, i, max: integer; {j, i to zmienne pętli, a max indeks największego elementu}
pom: real; {zmienna pomocnicza do zamiany dwóch elementów tablicy}
begin
for j := ost downto 2 do
begin
{wyszukiwanie indeksu największego elementu tablicy}
max := 1;
for i := 2 to j do
if tabl[i] > tabl[max] then max := i;
{koniec}
{zamiana miejscami aktualnego elementu i największego elementu}
pom := tabl[j]; tabl[j] := tabl[max]; tabl[max] := pom;
end;
end;
MrSquell: Zapewne tak, z tym że są dwa zastrzeżenia:
//Tak sobie dostałem link od Ktosia, bo akurat gadaliśmy dzisiaj o sortowaniach i tak odnośnie tego tematu ;)
procedure sortuj(var tabl:TTablice; ost:integer);
{procedura sortowania tablicy tabl, w której ostatni element ma indeks ost}
ost ????? a funkcja High jest Ci znana?? :> (tak sobie przeglądam artukuły:))) hihi )
w bąbelkach zamieniasz co dwa elementy tablicy, a tutaj aktualny i maksymalny. i to cala różnica.
a moje oko też to sie nie rózni za bardzo od sortowania bombelkowego?
netvalker> sam jesteś Bąbelek - poczytaj o typach sortowań :]
Sortowanie Bąbelkowe :)