nestandardne triedenie

Programovacie jazyky, rady, poradňa...
katarinka_21
Novice
Novice
Príspevky: 7
Registrovaný: 12 apr 2007, 0:18

nestandardne triedenie

Príspevok od používateľa katarinka_21 »

Ahojte, potrebovala by som pomoct napisat program bud v pascale alebo v delphi na temu nestandardne triedenie, moze to byt napriklad randomizovany quicksort. Najlepsie cim skor. Vdaka.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

randomizovaný quicksort neviem aký je, ale klasický máš tu:

Kód: Vybrať všetko

procedure QuickSort(var A: array of Integer);

  procedure Quick_Sort(var A: array of Integer; iLo, iHi: Integer);
  var
   Lo, Hi, Mid, T: Integer;
  begin
   Lo := iLo;
   Hi := iHi;
   Mid := A[(Lo + Hi) div 2];
   repeat
     while A[Lo] < Mid do Inc(Lo);
     while A[Hi] > Mid do Dec(Hi);
     if Lo <= Hi then
     begin
       T := A[Lo];
       A[Lo] := A[Hi];
       A[Hi] := T;
       Inc(Lo);
       Dec(Hi);
     end;
   until Lo > Hi;
   if Hi > iLo then Quick_Sort(A, iLo, Hi);
   if Lo < iHi then Quick_Sort(A, Lo, iHi);
  end;

begin
  Quick_Sort(A, Low(A), High(A));
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  arr: array[0..100] of integer;
  I: Integer;
begin
  for I:=Low(arr) to High(arr) do
   arr[I]:=Random(High(Integer));

  QuickSort(arr);
end;
hojko
Site Admin
Site Admin
Používateľov profilový obrázok
Príspevky: 38514
Registrovaný: 24 apr 2004, 18:29
Bydlisko: Európa
Kontaktovať používateľa:

Príspevok od používateľa hojko »

Audiotrack, to tvoje nie je program, len procedura. Ak sa nemylim, tak to treba v programe este vyvolat ;)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

hojko napísal:Audiotrack, to tvoje nie je program, len procedura. Ak sa nemylim, tak to treba v programe este vyvolat ;)
ak si si nevšimol, sú to dve procedúry. Pod tou procedúrou QuickSort(var A: array of Integer) je ešte procedúra Button1Click ktorou sa to vyvolá :wink:
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

hojko napísal:Audiotrack, to tvoje nie je program, len procedura. Ak sa nemylim, tak to treba v programe este vyvolat ;)
Ved audiotrack nepisal, ci to je program, alebo procedura. :wink: Myslim, ze kazdy, kto vie aspon trosku pascal, tak si to vie upravit. :)
hojko
Site Admin
Site Admin
Používateľov profilový obrázok
Príspevky: 38514
Registrovaný: 24 apr 2004, 18:29
Bydlisko: Európa
Kontaktovať používateľa:

Príspevok od používateľa hojko »

OK, uz som v obraze. Ja som zacinal na Pascale a tam som aj skoncil, uz Pascal pre Win mi nesedel pre tieto TForm.Button a podobne...
Napísať odpoveď