Escolar Documentos
Profissional Documentos
Cultura Documentos
TIPOS DE ORDENAMIENTO
INTERNO.-Es el tipo de ordenamiento en el cual los datos a ordenar
están
localizados en la memoria principal dela memoria principal de la
computadora.
1 [20] 10 10
2 [10] 20 20
3 [40] 40 30
4 [30] 30 40
n=4 (n-1=3)
b=t,f,t,t,f
i=1,2,3
j=1,2,3
x=2,3
aux=20,40
REGRESAR A LA UNIDAD II
1 [40] 30 30 30 10 10 10 10
2 [30] 40 10 10 30 30 30 20
3 [10] 10 40 40 40 20 20 30
4 [60] 60 60 20 20 40 40 40
5 [20] 20 20 60 60 60 50 50
6 [50] 50 50 50 50 50 50 60
n=6
r=3
j=1,2,3.
i=1,3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,2,4,6.
aux=40,40,60,30,40,60,30.
REGRESAR A LA UNIDAD II
ALGORITMO SHAKERSORT
Procedure shakersort;
var
aux,k,i,r,j: integer;
Begin
i:=2;
r:=n;
k:=n;
repeat
for j:=r downto i do
Begin
if x[j-1] > x[j] then
Begin
aux:=x[j-1];
x[j-1]:=x[j];
x[j]:=aux;
k:=j;
End;
End;
i:=k+1;
for j:=i to r do
Begin
if x[j-1] > x[j] then
Begin
aux:=x[j-1];
x[j-1]:=x[j];
x[j]:=aux;
k:=j;
End;
End;
r:=k-1;
until(i > r);
End;
1 [38] 38 12 12
2 [12] 12 38 23
3 [56] 23 23 38
4 [23] 56 56 56
I=2,3
R=4,2
K=4,2,3
J=4,3,2,3,4
AUX=56,38,38
REGRESAR A LA UNIDAD II
QUIT SORT
La manera de realizar este ordenamiento es la siguiente:
La instrucción A:=X[i] de l procedimiento rango es el elemento
del que se quiere encontrar su posición. Para esto se inicializ
dos apuntadores Ar (Arriba) y Ab(Abajo),como los limites inferior
y superior del arreglo.
En cualquier punto durante la ejecución cada elemento
delante del apuntador Ar es mayor o igual que A y cada elemento
detrás del apuntador Ab es menor o igual que A.
Los apuntadores Ar Y Ab se mueven en forma alterna el uno
hacia el otro. Ar de uno en uno hasta que x[Ar] sea menor que A.
En ese momento x[Ar] y x[Ab], se intercambian. El algoritmo
continua en la dirección opuesta, y se incrementa el apuntador Ab
hasta que x[Ab]>A, cuando esta sucede x[Ab] y x[Ar] intercambian
valores y se continua en la dirección opuesta; después de este
intercambio [Ab]=A.
REGRESAR A LA UNIDAD II
UNIDAD III
procedure heap_sort;
Label 10,11
Var
I,J,K,Y:Integer;
Begin
For K:=2 to n do
Begin
I:=K;
Y:=X[K];
J:=I/2;
While (J > 0) do
Begin
If Y < =x[J] then
Goto 10;
x[I]:=x[J];
I:=J;
J:=I/2;
End;
10: x[I]:=Y
End;
For k:=n downto 2 do
Begin
Y:=X[K];
x[K]:=x[1];
I:=1;
J:=2;
If (x[3] > x[2]) And (K-1 > =3) then
J:=3;
While (J < =K-1) do
Begin
If x[J] < =Y do
Goto 11;
x[I]:=x[J];
I:=J;
J:=2*I;
If x[J-1] > x[J] then
Inc (J);
End;
11:x[I]:=Y;
End;
End;
UNIDAD IV
PROCEDURE INSERCIÓNd;
Var
A,I,J:INTEGER;
Begin
For I:=2 to n do
Begin
A:=x[I];
x[0]:=A;
J:=i;
While (A < x[J-1]) do
Begin
x[J]:=x[J-1];
Dec (J);
End;
x[J]:=A;
End;
End;
REGRESAR A LA UNIDAD IV
Procedure Inserción_binaria
Var
a,i,j,m,l,r:integer;
Begin
For i:=2 to n do
Begin
a:=x[i];
i:=1;
r:=i;
while (l < r) do
Begin
m:=(l+r) div 2;
if(x[m] < a) then
l:=m+1;
else
r:=m;
End;
For j:=i downto r+1 do
Begin
x[j]:=x[j-1];
End;
x[r]:=a;
End;
End;
<="a)" then l:="m+1;" else r:="m;" End; For j:="i" downto r+1 do Begin
x[j]:="x[j-1];" End; x[r]:="a;" End; End;
REGRESAR A LA UNIDAD IV
UNIDAD V
REGRESAR A LA UNIDAD V
ALGORITMO DE ORDENAMIENTO POR EL METODO DE
CONTEO
Procedure conteo;
Var
s: array[1...n] of integer;
p,i,j: integer;
Begin
For i:=1 to n do
Begin
p:=1;
For j:=1 to n d
begin
if x[i] > x[j] then
inc(p);
end;
s[p]:=x[i];
End;
End;
1 [20] [1]
2 [15] [8]
3 [8] [15]
4 [1] [20]
i=1,2,3,4
p=1,2,3,4 |1,2,3,4| |1,2,3 | |1,2 | |1 |
j=1,2,3,4 |1,2,3,4| |1,2,3,4| |1,2,3,4|
REGRESAR A LA UNIDAD V
UNIDAD VII
i=1,2,3,4,5
y=56,28,32,14,51
prim=5,2,3,1,5
p=0,4,0,2,0,3,0,0,5,1,0,0,0,0,0
REGRESAR AL principio