Program Quicksort;
uses crt;
type
vector=array [1..10] of integer;
const
lista:vector=(8,5,6,3,1,4,2,7,10,9);
var
k:integer;
longitud:integer;
procedure intercambiar (var m,n:integer);
var
aux:integer;
begin
aux:=m;
M:=n;
N:=aux;
end;
procedure partir (primero,ultimo :integer);
var
i,j,central:integer;
begin
i:=primero;
j:=ultimo;
central:=a[(primero+ultimo) div 2];
repeat while a[i]central do {Aqui es donde me da el error en a[i]central}
j:=j-1;
if i<=j then
begin
intercambiar (a[i],a[j]);
i:=i+1;
j:=j-1;
end;
until i>j;
if primero<j then
partir(primero,j);
if i<ultimo then
partir(i,ultimo);
end;
procedure rapido (var a:vector;n:integer);
begin
partir (1,n);
end;
begin
clrscr;
k:=0;
write ('Este es el vector original: ');
repeat
begin
write (lista[k],' ');
k:=k+1;
end;
until k=11;
writeln;
rapido (lista,10);
k:=0;
write ('Este es el vector ordenado: ');
repeat
begin
write (lista[k],' ');
k:=k+1;
end;
until k=11;
readln;
end.