Algoritmia - Shell

 
Vista:

Shell

Publicado por Nuria (5 intervenciones) el 14/12/2001 09:09:13
procedimiento Shell es

L,J,K: entero (donde L va a ser el punto medio del vector, J es el primer elemento del vector y K es el elemento siguiente a J)
Tabla: vector de 1..n enteros;
Inicio
L.=n/2 --situamos a L como puntero del centro del vector
mientras L > 0 hacer
para I de L+1.. n-1 hacer
J:=I-L; --situamos a J como puntero del primer elem del vector
mientras J>0 hacer
K:=J+L; --situamos a K apuntando al siguiente elemento de L
si Tabla(J) <= Tabla(K) entonces
J:=0;
sino
Aux:=Tabla(J); Tabla(J):=Tabla(K); Tabla(K):=Aux;
fsi
J:=J-L;
fmientras
fpara
L:=L/2;
fmientras;
fin Shell;

espero que te haya servido
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder