program ORDENACIONPORPARTICION; { QUICKSORT.} const N = 8; type TipoInfo = record clave : integer; demas : integer end; vector = array[1..N] of TipoInfo; var k : integer; ejemplo : vector; procedure rapido( var a : vector ); procedure sort(iz, de : integer); var i, j : integer; x, w : TipoInfo; begin i := iz; j := de; x := a[(iz + de) div 2]; repeat while a[i].clave < x.clave do i := i + 1; while x.clave < a[j].clave do j := j - 1; if i <= j then begin w := a[i]; a[i] := a[j]; a[j] := w; i := i + 1; j := j - 1; end until i > j; if iz < j then sort(iz,j); if i < de then sort(i,de); end; begin sort(1,n) end; begin writeln(''); for k := 1 to N do begin read( ejemplo[k].clave ); ejemplo[k].demas := 0; end; rapido( ejemplo ); writeln(''); for k := 1 to N do write( ejemplo[k].clave,' ' ); end.