UNIDAD III
Ing. Mario M. Lpez Winnipeg
CONTENIDO
LA CLASE VECTOR Y TECNICAS ALGORITMICAS
(ARREGLO DE UNA DIMENSIN)
Definicin y estructura.
Referencias al arreglo de una dimensin.
secuenciales, randmicas y mixtas.
Aplicaciones mediante referencia secuencial de una instancia o un objeto de la
clase vector.
Bsqueda secuencial.
Ordenamiento por intercambio.
Ordenamiento Por seleccin.
Ordenamiento por conteo y el manejo de objetos auxiliares
Ordenamiento Burbuja.
Ordenamiento por insercin
Shell Sort.
Quick Sort.
Bsqueda binaria.
n elementos
1 n
CLASE VECTOR Y TECNICAS ALGORITMICAS
EJEMPLO
DEFINICION EN DELPHI
VAR
V : array [1.. 10] of integer;
A: array[1..20 ] of cnumeronatural;
s : array[1..30] of Persona;
.
V[3]:=v[3] +1;
n elementos
A[2].asignarvalor(345);
S[3].nombre =Juanita;
1 n
CLASE VECTOR Y TECNICAS ALGORITMICAS
REFERENCIAS SECUENCIALES RANDOMICAS
Y MIXTAS
SECUENCIALES
Cuando uno accede al contenido del vector de manera ordenada vale
decir empezando en la posicin 1,2,3,4,5. N
RANDOMICAS
Cuando se accede al contenido del vector sin ningn orden vale decir
de forma aleatoria.
MIXTAS
Esta forma de referencia a las celdas del vector conbina las dos formas
anteriores.
n elementos
1 n
CLASE VECTOR Y TECNICAS ALGORITMICAS
LABORATORIO
Program usandovectores;
Var Definiendo
elementos:array[ 1.. 100 ] of integer;
n,i:word; Dimensionando
begin
writeln(Digite la dimensin );
Readln(N);
for i:=1 to n do Cargando
readln(elementos[ i ]);
for i:= 1 to n do
write( elementos[i]:4); Mostrando
readln;
End.
Bsqueda secuencial.
Ordenamiento por intercambio.
Ordenamiento Por seleccin.
Ordenamiento por conteo y el manejo de
objetos auxiliares
Ordenamiento Burbuja.
Ordenamiento por insercin
Shell Sort.
Quick Sort.
Bsqueda binaria.
Public
Constructor Crear;
Procedure Dimensionar( Dim : Word );
Procedure Poner( Pos: Word; Elemento : Integer);
Function Elemento( Pos : Word ): Word ;
Function Dimension : Word;
Function ComoString : String;
End;
writeln (vec.comostring);
readln; Mostrando
End.
X X X X X X X X
1 n
25
X X X X 25 X X X
1 n
25
Procedure CVector.OrdenarIntercambio;
Var
i , j: Word;
Begin
For i := 1 to Dimension-1 do
For j := i+1 to Dimension do
if( Elementos[ j ] < Elementos[ i ] )then
Intercambiar( j , i );
End;
4 elementos
2 8 4 5
1 MAXE
En la siguiente pasada se hace lo mismo, pero ahora se busca desde la segunda posicin hasta el final el menor. Se
intercambia ste menor con lo que est en la segunda posicin.
4 elementos
2 4 8 5
1 MAXE
4 elementos
2 4 5 8
1 MAXE
Procedure cvector.ordenarSeleccion;
var
i,j,menor : integer ;
Begin
for i:= 1 hasta N do
begin
menor:= i;
For j := i + 1 to N Do
If (elementos[j] < elementos[menor]) entonces
menor :=j;
Intercambiar(i, menor);
end;
End;
Count
2 4 1 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
10
10
5 10
Count 5 10 13 m=20 20
2 4 1 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
0 0 0 0 2 2 2 2 2 6 6 6 7 7 7 7 7 7 7 8 8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Count
0 0 0 0 2 2 2 2 2 6 6 7 7 7 7 7 7 7 9 9
5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Count
0 0 0 0 2 2 2 2 2 6 6 7 7 7 7 7 7 8 8
5 6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Count
0 0 0 0 2 2 2 2 6 6 7 7 7 7 7 7 8 8
1 5 6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Count
0 0 0 0 2 2 2 2 6 6 7 7 7 7 7 7 8
1 5 6 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Count
0 0 0 0 2 2 2 2 6 6 7 7 7 7 7 7 8
1 4 6 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Count
0 0 0 0 2 2 2 2 6 6 7 7 7 7 7 7 8
0 4 6 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Count
0 0 0 0 2 2 2 2 6 6 7 7 7 7 7 7 8
0 3 6 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Count
0 0 0 0 2 2 2 2 6 6 7 7 7 7 7 7 8
0 2 6 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
END;
Crear
Dimensionar
Poner
Secuencial
Shell
Mostrar