Quick Sort
program qsort; uses crt; const n=10; type vec=array[1..n]of integer; var v:vec; c:integer; procedure quickredit(ini,fin:integer; var pos:integer); var izq,der,aux:integer; band:boolean; begin izq:=ini; der:=fin; pos:=ini; band:=true; while band=true do begin while (v[pos]<=v[der]) and (pos<>der) do der:=der-1; if pos=der then band:=false else begin aux:=v[pos]; v[pos]:=v[der]; v[der]:=aux; pos:=der; while (v[pos]>=v[izq]) and (pos<>izq) do izq:=izq+1; if pos=izq then band:=false else begin aux:=v[pos]; v[pos]:=v[izq]; v[izq]:=aux; pos:=izq; end; end; end;{while} end; procedure quickit (v:vec; n:integer); var top,ini,fin,pos:integer; pmay,pmen:vec; begin top:=1; pmen[top]:=1; pmay[top]:=n; while top>0 do begin ini:=pmen[top]; fin:=pmay[top]; top:=top-1; quickredit(ini,fin,pos); if ini<(pos-1) then begin top:=top+1; pmen[top]:=ini; pmay[top]:=pos-1; end; if fin>(pos+1) then begin top:=top+1; pmen[top]:=pos+1; pmay[top]:=fin; end; end;{while} end; begin clrscr; for c:=1 to n do begin write('Dame un numero: '); readln(v[c]); end; quickit(v,n); writeln; writeln('Vector acomodado: '); for c:=1 to n do begin write(v[c],' '); end; readkey; end.
Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.
Otro punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:
- Si es lenguaje C [c]Código en C[/c]
- Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].
De esta manera el código coloreas el código.
Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:Me reservo el derecho de alterar, publicar o no los comentarios as´ como cambiar mis condiciones en el momento que así lo requiera.
¿estas de acuerdo? entonces adelante que ya te he quitado bastante tiempo leyendo esta basura de advertencias :)