|
Hteo sam da naucim quicksort algoritam za sortiranje nizova.Znam kako algoritam funkcionise i probao sam da iskucam program.Prvi put mi je radio super, a posle sam mogao samo da ucitam clanove niza i toliko.
Program je napisan u lazarusu:
program project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this };
type
niz=array[1..100]of integer ;
var
a:niz;
n,i:integer;
procedure razmeni(var a,b:integer);
var
p:integer;
begin
p:=a;
a:=b;
b:=p;
end;
procedure quicksort(levi,desni:integer;var a:niz);
var
i,j,d:integer;
begin
if levi<desni then begin
i:=levi;
j:=desni;
d:=a[desni];
repeat
while a[i]<d do i:=i+1;
while (a[j]>d)and(i<j) do j:=j-1;
if i<j then razmeni(a[i],a[j]);
until i=j;
razmeni(a[i],a[desni]);
quicksort(levi,i-1,a);
quicksort(i+1,desni,a);
end;
end;
begin
readln(n);
for i:=1 to n do readln(a[i]);
quicksort(1,n,a);
for i:=1 to n do write(a[i],' ');
readln;
end.
Ako neko moze da mi pomogne bicu jako zahvalan.Hvala unapred!!!
|