Вы находитесь на странице: 1из 18

rre A

gLos
Taller de Programacin

Estructuras de Datos

Una estructura de datos es una coleccin o conjunto de datos simples (homogneos) en una estructura comn.
Los medios por los cuales se relacionan los elementos determinan el tipo de estructura de datos. El valor de la estructura de datos se determina por: El valor de los elementos La composicin de los elementos
Taller de Programacin

Clasificacin de las Estructuras de Datos

Arreglos (vectores y matrices) Registros (record) Ficheros o archivos (file)

Lineales

Pilas Colas Listas enlazadas

No Lineales

Arboles Grafos

Taller de Programacin

Comparacin entre Datos Simples y Estructurados

Simples
Almacenan 1 dato

Estructurados
Almacenan ms de 1 dato a la vez Ideal para almacenar datos relacionados

Poco eficiente para manejar datos relacionados

Se referencian por un identificador nico

Se referencian por un identificador comn ms uno individual

Taller de Programacin

Es una estructura de datos que almacena un conjunto de datos del mismo tipo.
Se identifica por su nombre, que debe ser un nombre o identificador de variable vlida (por ejemplo, ALUMNOS) Los componentes individuales se llaman elementos y poseen un ndice (indica posicin) dentro del Arreglo. Para poder utilizar Arreglos en un problema es necesario declararlos, como cualquier variable, indicando el numero y tipo de elementos que puede contener.

Taller de Programacin

Arreglos
o Unidimensionales
o

Los Arreglos se clasifican en:

o Bidimensionales o Multidimensionales

Arreglos MULTIDIMENSIONALES (CUBO) Arreglos UNIDIMENSIONALES (VECTORES/LISTAS) Arreglos BIDIMENSIONALES (MATRIZ / TABLA)
T[0] T[1]

T[2]

T[3]

3
F .......... i 24 l 10 a s 25

T[29]

T[30]

VECTOR T 25.4
Primer elemento

31.6 22 14 15 9 0 Segundo Tercer 0 -5 -12 1 elemento elemento 4 5 10 8 2


Columnas

32

28

29.5

Trigsimo Trigsimo elemento primer elemento

3
Taller de Programacin

Operaciones con Arreglos


o

Las operaciones se pueden realizar sobre elementos individuales o sobre los Arreglos completos, esto mediante la utilizacin conveniente de las instrucciones bsicas y estructuras de control. Algunos ejemplos de operaciones que se pueden realizar sobre un Arreglo son: Operaciones sobre elementos individuales Asignacin Lectura Escritura

Operaciones sobre el Arreglo completo

Recorrido Bsqueda Intercalacin Eliminacin


Taller de Programacin

Arreglos Unidimensionales - Vectores


Ejemplo: Sea el siguiente vector H de 10 elementos:
16.5
H[0]

14.2
H[1]

5
H[2]

3.45
H[3]

0
H[4]

-1
H[5]

2.45
H[6]

32
H[7]

-45
H[8]

15
H[9]

Considere el subndice i = 3

Instruccin
printf(H[4]) printf(H[i]) printf(H[i] + 3)) printf((H[i+2])) printf(H[i - 1])) printf((H[4+i])) H[i - 1] = H[3] H[i] = H[i + 1] H[i] = H[12]

Accin
visualiza 0 (valor de H[4]) visualiza 3.45 (valor de H[3], i = 3) visualiza 6.45 (H[3] + 3) visualiza -1 (H[3 + 2] = H[5]) visualiza 5 (H[2]) visualiza 32 (H[4 + 3] = H[7]) asigna 3.45 a la posicin H[2] asigna 0 a la posicin H[3] instruccin ilegal (12 supera longitud vector)
Taller de Programacin

Arreglos Unidimensionales - Vectores


Ejemplo de operaciones sobre un vector:

Llenado
VECTOR VACIO V[0]
INSTRUCCION

V[1]

V[2]

V[3]

V[4]

for (i=0 ; i < 5 ; i=i+1) { scanf (%d, V[i] ) }


VALORES A INGRESAR

5942 1
i=0 i=1 i=2 i=3 i=4

i 0 1 2 3 4

V[i] V[0] = 5 V[1] = 9 V[2] = 4 V[3] = 2 V[4] = 1

Cuarto

5 V[0]

9 V[1]

4 V[2]

2 V[3]

1 V[4]

VECTOR FINAL
Taller de Programacin

Arreglos Unidimensionales - Vectores

Impresin
Primero 8 V[0] Segundo 21 V[1] 7 V[2] 1 V[3] 3 V[4] INSTRUCCION VECTOR V

for ( i= 0 ; i<5 ; i=i+1) { printf (%d, V[i]) }

Tercero

21

VALORES DESPLEGADOS

Cuarto

8 V[0]

21 V[1]

7 V[2]

1 V[3]

3 V[4]

VECTOR FINAL
Taller de Programacin

Arreglos Unidimensionales - Vectores

Modificacin
VECTOR V 8 V[0] 21 V[1] 7 V[2] 1 V[3] 3 V[4] 0 1 2 3 4 i V[i] V[0] = 24 V[1] = 63 V[2] = 21 V[3] = 3 V[4] = 9

INSTRUCCION
for ( i= 0 ; i< 5 ; i=i+1) { V[i] = 3 * V[i] }
i=0 i=1 i=2 i=3 i=4

VECTOR

8 24

21 63

7 21

1 3

3 9

V[0]

V[1]

V[2]

V[3]

V[4]
Taller de Programacin

Arreglos Unidimensionales - Vectores

Modificacin (Inicializacin)
VECTOR V

Primero

8 V[0]

21 V[1]

7 V[2]

1 V[3]

3 V[4]

Segundo

for ( i= 1 ; i< 5 ; i = i + 1) { V[i] = 0 };

INSTRUCCION

Tercero

0 V[0]

0 V[1]

0 V[2]

0 V[3]

0 V[4]

VECTOR FINAL
Taller de Programacin

Arreglos Unidimensionales - Vectores

Suma de Todos los Elementos


Primero 8 V[0] Segundo 21 V[1] 7 V[2] 1 V[3] 3 V[4] INSTRUCCION VECTOR V

suma=0; for ( i= 0 ; i<5 ; i=i+1) { suma = suma + V[i] } i suma 0 8 29 36 37 40

Tercero

0 1 2 3 4 5

VARIABLE SUMA

Taller de Programacin

Arreglos Unidimensionales - Vectores


1 8 A[0] 21 A[1] 7 A[2] 1 A[3] 3 A[4] 4 B[0] 5 B[1]

Intercambio
9 B[2] -2 B[3] -6 B[4]

Vector A 2 for ( i= 0; i< 5; i++) { aux = A[i]; A[i] = B[i]; B[i] = aux; }
i 0 1 2 3 4 -2 A[3] -6 A[4] 8 B[0] aux 8 21 7 1 3

Vector B
A[i] 4 5 9 -2 -6 7 B[2] B[i] 8 21 7 1 3 1 B[3] 3 B[4]

4 A[0]

5 A[1]

9 A[2]

21 B[1]

Vector A

Taller de B Vector Programacin

Arreglos Unidimensionales - Vectores

Unin
1 8 A[0] 21 A[1] 7 A[2] 1 A[3] 3 A[4] i 0 1 2 4 B[0] C[i] 8 4 21 5 7 9 5 C[6] 9 C[7] 5 B[1] 9 B[2] i 3 4 -2 B[3] -6 B[4] C[i] 1 -2 3 -6

Vector A

Vector B

for ( i= 0; i<5; i++) { C[i] = A[i]; C[i+5] = B[i]; }

8 C[0]

21 C[1]

7 C[2]

1 C[3]

3 4 C[4] C[5] Vector C

-2 C[8]

-6 C[9]

Taller de Programacin

Arreglos Unidimensionales - Vectores

Suma
1 8 A[0] 21 A[1] 7 A[2] 1 A[3] 3 A[4] 4 B[0] 5 B[1] 9 B[2] -2 B[3] -6 B[4]

Vector A 2 for ( i= 0; i<5; i++) C[i] = A[i] + B[i]; i 0 1 2 3 4 C[i] 12 26 16 -1 -3

Vector B

12
C[0]

26
C[1]

16
C[2]

-1
C[3]

-3
C[4]

Vector C
Taller de Programacin

Arreglos Unidimensionales - Vectores

Buscar el Mayor Elemento


Primero 3 V[0] Segundo for ( i = 0; i< 5; i++) { if( i == 0 || V[i] > mayor) { mayor = V[i]; pos = i; } } i 0 1 2 3 4 5 4 V[1] 5 V[2] 2 V[3] 1 V[4] Tercero pos 0 1 2 mayor 3 4 5 VECTOR V

Taller de Programacin

Arreglos Unidimensionales - Vectores

Invertir un Vector
1 8
A[0]

21
A[1]

7
A[2]

1
A[3]

3
A[4]

Vector A (longitud impar) 2 for ( i= 0; i < n / 2; i++) { aux = A[i] ; A[i] = A[n-i] ; A[n- i] = aux ; } 3 1 7 21 8 i 0 1 aux 8 21 A[ ] 3 8 n 4

1 21

A[0]

A[1]

A[2]

A[3]

A[4]
Taller de Programacin

Vector A

Вам также может понравиться