Sunteți pe pagina 1din 4

13/02/2014

Listas: descripcin lgica

ALGORITMOS Y
ESTRUCTURA DE
DATOS

 LISTA = coleccin de elementos homogneos entre los


que existe una relacin lineal
 Cada elemento de la lista, a excepcin del primero, tiene
un nico predecesor

 Cada elemento de la lista, a excepcin del ltimo, tiene


un nico sucesor

LISTAS, PILAS y COLAS

 Nodos y enlaces

Listas: descripcin lgica


 Orden de nodos afecta a la funcin de acceso
 Segn orden de insercin
 Segn clave

Listas: descripcin lgica


 Listas Arrays
 Listas son flexibles y permiten cambio de implementacin

 Operaciones
 Insertar, Borrar, Modificar, etc.

 Tipos de listas

 Ejemplo
Lista de calificaciones ::= <Alumno> + {<Alumno>}
<Alumno>::= <<DNI>> + <<NIA>> + <Apellido1> + <Apellido2> + <Nombre> +
<Calificacin>

REALIZAR EL PROGRAMA QUE INGRESE A UNA LISTA ENLAZADA NUMEROS


ENTEROS. EL PROGRAMA DEBE TERMINAR DE INGRESAR NUMEROS CUANDO
SE INGRESE CERO, LUEGO SE DEBERA IMPRIMIR LOS NUMEROS DE LA LISTA..








Simples
Ordenadas
Pilas
Colas
Doblemente enlazadas (LDE)
Circulares

REALIZAR EL PROGRAMA QUE INGRESE A UNA LISTA ENLAZADA NUMEROS


ENTEROS. EL PROGRAMA DEBE TERMINAR DE INGRESAR NUMEROS CUANDO
SE INGRESE CERO, LUEGO SE DEBERA IMPRIMIR LOS NUMEROS DE LA
LISTA.CON LA CANTIDAD DE DIVISORES

13/02/2014

SOLUCION

EJERCICIO
 REALIZAR EL PROGRAMA QUE INGRESE A UNA ESTRUCTURA
DINAMICA LISTA LOS DATOS DE LOS ALUMNOS DE UN COLEGIO:
CODIGO, APELLIDOS Y NOMBRES, AO DE ESTUDIOS, SEXO,
EXAMEN PARCIAL, EXAMEN FINAL, PROMEDIO DE PRCTICA. SE
PIDE IMPRIMIR UN REPORTE QUE INCLUYA A LOS DATOS DE
ENTRADA EL PROMEDIO DE CADA ALUMNO Y AL PIE DEL REPORTE
IMPRIMIR LA CANTIDAD DE ALUMNOS APROBADOS Y
DESAPROBADOS POR AO DE ESTUDIO Y SEXO A LA VEZ.

LA PILA
La pila (stack) es una estructura
ordenada de elementos en la que
se pueden insertar o remover
elementos por un extremo llamado
la cima de la pila (stack top).

Cima de
la pila

El apuntador de pila (stack pointer)


seala al elemento de la cima.

OPERACIONES BSICAS

La pila puede carecer por completo


de elementos, en tal caso se le
llama pila vaca. En una pila vaca
el apuntador de pila seala a
NULL.

Apuntador
de pila
Una pila

EVOLUCIN DE UNA PILA

Las operaciones bsicas de la pila son:


Apilar (push(s, i)) - inserta un nuevo elemento a la pila.
Desapilar (pop(s)) - remueve el elemento de la cima de la pila.
E
D

C
B

C
B

C
B

C
B

Pila antes de
Push(s, E)

Pila despus
de Push(s, E)

Pila antes de
i Pop(s)

Pila despus
de i Pop(s)

i=D

13/02/2014

OTRAS OPERACIONES

REALIZAR EL PROGRAMA QUE INGRESE A UNA ESTRUCTURA DE DATOS


DINAMICA PILA N NUMEROS ENTEROS. SE PIDE CALCULAR E IMPRIMIR
ATRAVES DE UN REPORTE LOS NUMEROS DE LA PILA Y SU FACTORIAL
CORRESPONDIENTE. EL CALCULO DEL FACTORIAL DEBERA HACERSE
MEDIANTE UNA FUNCION RECURSIVA.

La funcin EMPTY(S) es verdadera si la pila est vaca.


La operacin STACKTOP(S), que es equivalente a un
POP seguido de un PUSH.
I = POP(S);
PUSH(S,I);
determina el valor del elemento de la cima sin removerlo.

Colas


Cola = coleccin ordenada de elementos homogneos en la que slo se pueden


aadir elementos por el final y se eliminan por el principio (frente) filosofa FIFO

Definicin
<cola> ::= <frente> + <final> + {<nodo>}
<frente> ::= <enlace>
<enlace> ::= (<<ReferenciaNodo>> | NULL)
<final> ::= <enlace>
<nodo> ::= <informacion> + <enlace>
< informacion > ::= <<dato>>{<<dato>>}

REALIZAR EL PROGRAMA QUE INGRESE A UNA ESTRUCTURA DE


DATOS DINAMICA COLA NOMBRES DE PERSONAS Y LUEGO LOS
IMPRIMA EN PANTALLA.

TAD Cola: operaciones


Creacin de cola

crearCola (nombreCola)

Comprobacin del estado

colaVacia(nombreCola) Booleano
colaLlena(nombreCola) Booleano

Insercin de nodos

encolar(nombreCola, valorInfo)

Extraccin de nodos

desencolar(nombreCola) informacion

Acceso a la cabecera*

cabecera(nombreCola) informacion

* Opcional: Accede a la cabecera sin eliminarla

Acceso a los nodos

info(referenciaNodo) Informacion
siguiente(referenciaNodo) Enlace

Modificacin de los nodos

asignarInfo(referenciaNodo, valorInformacion)
asignarEnlace(referenciaNodo, valorEnlace)

EJERCICIOS
1.- REALIZAR EL PROGRAMA QUE INGRESE A UNA
LISTA ENLAZADA LOS DATOS DE LOS ARTICULOS
DE UN ALMACEN:
- CODIGO,
- DESCRIPCION,
- TIPO DE ARTICULO
(PRUEDE SER ALFA, BETA O GAMMA),
- PRECIO UNITARIO,
- CANTIDAD.
SE PIDE IMPRIMIR UN REPORTE QUE INCLUYA A LOS DATOS DE
ENTRADAS EL IMPORTE DE CADA ARTICULO, ASI COMO AL PIE DE
REPORTE SE DEBERA IMPRIMIR EL TOTAL DE IMPORTE POR TIPO.

13/02/2014

EJERCICIOS
2.- REALIZAR EL PROGRAMA QUE INGRESE A UNA
ESTRUCTURA DINAMICA LISTA LOS DATOS DE LOS
ALUMNOS DE UN COLEGIO:
- CODIGO,
- APELLIDOS Y NOMBRES,
- AO DE ESTUDIOS,
- SEXO,
- EXAMEN PARCIAL,
- EXAMEN FINAL,
- PROMEDIO DE PRCTICA.
SE PIDE IMPRIMIR UN REPORTE QUE INCLUYA A LOS DATOS DE
ENTRADA EL PROMEDIO DE CADA ALUMNO Y AL PIE DEL REPORTE
IMPRIMIR LA CANTIDAD DE ALUMNOS APROBADOS Y DESAPROBADOS
POR AO DE ESTUDIO Y SEXO A LA VEZ.

EJERCICIOS
3.- REALIZAR UN PROGRAMA QUE INGRESE LAS CITAS
DE LOS PACIENTES DE UNA CLINICA ESTOS DEBEN
ESTAR EN ESTRUCTURA DINAMICA LISTA LOS DATOS
DE LOS PASCIENTES SON:
- CODIGO PACIENTE,
- APELLIDOS Y NOMBRES,
- ESPECIALIDAD ATENDERSE
(PUEDE SER
0 - ODONTOLOGIA
P - PEDIATRIA
M - MEDICINA GENERAL
U - UROLOGIA
- DIA,
- TURNO ( MAANA, TARDE O NOCHE)
SE PIDE IMPRIMIR LOS PACIENTE QUE SACARON
CITA EL DIA, EL TURNO Y LA ESPECIALIDAD

S-ar putea să vă placă și