Samo da prebacim iz one teme sta smo vec napisali:
Prvo cu da pojasnim alogoritme za sortiranje.
Cesto u programiranju javlja potreba da se neki podaci sortiraju u neopadajucem ili u nerastujecem redu. Postoji mnogo alogoritama koji sluze za ovu zadacu a neki su:
Bubble sort, Merge sort, Radix sort, Quick sort ...
Danas cu da objesnim najjednostavniji naravno i najsporiji Bubble sort(metodu mjehurica). Procedura za ovaj alogoritam izgleda ovako:
Kod:
type
TNiz = array[1..1000] of integer;
procedure Bubble_Sort(Count : integer; var niz : TNiz);
var
i, j : integer;
begin
for i := Count - 1 downto 1 do
for j := 1 to i do
if niz[j] > niz[j + 1] then
begin
Temp := Niz[j];
Niz[j] := Niz[j + 1];
Niz[j + 1] := Temp;
end;
end;
To bi bilo to. Alogoritam koristi dvije for petlje(vanjska i unutrasnja) u principu program provjerava dva uzastopna clana niza i rotira ih ako je prvi veci od drugog. Ovim se postiza da se svakim ciklusom unutrasnje petlje najveci broj u nesortiranom djelu niza postavi na krajnje mjesto u nesortiranom djelu niza cime zadnji clan postaje sortiran.
@bojan_p:
Samo mala dopuna na temu algoritama za sortiranje.
Generalno algoritmi za sortiranje se mogu podeliti u dve grupe u zavisnoti od brzine njihovog izvršavanja - odnosno kompleksnosti. U prvu grupu algoritama za sortiranje kojima je vreme izvršavanja proporcionalno n*n, gde je n broj elemenata koji se sortiraju spadaju: Bubble sort, Selection sort, Insertion sort i Shell sort. U drugu grupu gde je vreme izvršavanja proporcionalno n * log n spadaju: Heap sort, Merge sort i Qucik sort.
Iako više algoritama pripada istoj grupi brzina njihovog izvršavanja se razlikuje. U prvoj grupi algoritma najbrži je: Shell, a potom slede Insertion, Selection i na kraju Bubble sort.