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

Aplicaciones de las Listas Simples

ALGORITMOS Y ESTRUCTURAS DE DATOS


LISTAS INVERTIDAS
DESCRIPCION
Se tiene dos espacios para almacenar informacin "A" y "B". El espacio de datos de "A" es utilizado
por n listas simples, las cuales comparten el espacio de datos sin ningn privilegio de una lista
sobre la otra.
El espacio de datos "B" es utilizado solo en el caso que ya no exista lugar libre en el espacio de
datos "A" para almacenar un nuevo elemento de una lista. (El espacio de datos B es un rea
llamada OVERFLOW).
En los espacios de datos "A" y "B" debe existir una forma de controlar los espacios libres. Cada
una de las "m" listas contendr 2 tipos de objetos:
Un vector para las cabezas de lista del rea de datos y una variable para las reas libres

El vector CAB se muestra completo al final del presente documento.


Los elementos estn constituidos por dos partes:
DATO

PUNTERO

Las cabezas de lista residirn en un arreglo de "m" elementos (El elemento 1 corresponder a la
cabeza de lista 1, el elemento 2 corresponder a la cabeza de lista 2 y as sucesivamente).

Tareas
Se debe construir los siguientes mtodos en Visual C++:
Carga de elementos de una lista "i", donde i=1,2,...m
Programar los parmetros: Identificacin de la lista y el Valor o Dato.
1. Determinar el nmero de elementos de cada lista y contar cuantos se encuentran
almacenados en el espacio de datos "A" y cuantos en el espacio de datos "B". Muestre sus
resultados en un control ListBox.
2. Determinar el nmero de espacios libres en cada espacio de datos (en "A y en "B"). El
resultado se ver en dos controles TextBox.
3. Ingresar un DATO en una caja de texto y seleccione una lista de un cuadro combo, luego
cuente el nmero de ocurrencias de dicho dato..
4. Seleccione una de las listas desde un cuadro combo y adicione un elemento al final de
dicha lista.
________________________________________________________________________________________
Dr. Luis Boy Chavil

Aplicaciones de las Listas Simples

5. Ingrese un dato en una caja de texto, luego seleccione una de las listas desde un cuadro
combo e inserte un elemento en dicha lista despus de la ltima ocurrencia del valor del
dato ingresado.
Ejemplo: En la lista 3, insertar el valor "SOLES" despus de la ltima ocurrencia del valor
"PESOS".//////////////////////////////////////////////////////////////////////////////////////////////////////
6. Ingrese un dato en una caja de texto, luego seleccione una de las listas desde un cuadro
combo y finalmente, elimine el elemento encontrado.
Ejemplo: En la lista 3, eliminar el elemento "SOLES".
7. Ingrese un dato en una caja de texto, luego seleccione una de las listas desde un cuadro
combo y finalmente, modifique el elemento encontrado reemplazndolo con otro valor
ingresado como parmetro. //////////////////////////////////////////////////////////////////////////
8. Programar un botn de comando para determinar si una lista seleccionada de un cuadro
combo se encuentra ordenada o no; segn sea el caso se modificar la Cabeza de Lista.
Inicialmente los datos sern cargados por orden de llegada sin ningn orden especfico.
9. Programar un botn de comando para clasificar los elementos de una lista seleccionada de
un cuadro combo. El espacio utilizado para la lista ordenada debe ser el mismo que el que
utiliz la lista antes de realizarse la clasificacin.
10. Programar un botn de comando para compactar el espacio "A" y liberar el espacio "B".
Esta funcin consiste en analizar si existen espacios libres en "A", cuando existe espacios
ocupados en "B" (puede ocurrir que inicialmente el espacio "A" tena 15 elementos libres y
despus de realizar 20 inserciones: 15 elementos quedan en el espacio "A" y 5 elementos
en el espacio "B"; luego se elimina 4 elementos en el espacio "A", lo que origina 4
elementos libres en "A" y 5 elementos ocupados en "B". Si en este punto se ordena una
compactacin, entonces 4 de los 5 elementos de "B" deben pasar a ocupar los 4
elementos libres de "A").
Al final de esta compactacin se tendr 0 espacios libres en "A" y solo 1 espacio ocupado
en "B".
La cabeza de lista debe tener la siguiente estructura:
Identificador
de Lista
1
2
3

Cabeza de
Lista
10
3
51

Ordenado
SI
NO
SI

Tipo de
Orden
A
D

Tamao
10
12
4

________________________________________________________________________________________
Dr. Luis Boy Chavil

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