Ayuda con listas, pilas y colas

Iniciado por VintageChanel, 28 Enero 2015, 03:14 AM

0 Miembros y 1 Visitante están viendo este tema.

VintageChanel

Por favor tengo que hacer esta tarea, la consigna dice:
Una cola prioridad tiene una estructura similar a la de una cola, con la diferencia que cada elemento tiene un campo que indica su prioridad. Realizar dos procedimientos, uno para ingresar un elemento en la cola prioridad y otro para extraerlo. Utilizar para ello un TDA COLA.
Trate de hacerlo sola pero no termino de entender del todo la consigna, o como hacerlo, digamos que hice una estructura y le puse la prioridad = 0, pero no tengo la menor idea de como seguir, se me dificulta mucho que sea un ejercicio "abstracto", no pido todo el codigo, sino una idea detallada de como podria hacerlo.
Por favor espero de que puedan aconsejarme un poco, de antemano, muchas gracias!!
Take Risks

Orubatosu

Se me ocurren dos formas.

Una es que obviamente uses una estructura, donde uno de los campos sea un entero que indique la prioridad. El procedimiento de entrada comprueba que la prioridad no esté repetida (si es necesario), y ordena la lista nuevamente según prioridad.

El otro sería usar un mapa, donde el elemento llave sea la prioridad, de ese modo te cargas de un plumazo la necesidad de ordenar y de comprobar repetidos, solo has de comprobar antes de añadir un campo que la prioridad no está repetida.

Si es a un nivel mas básico, usa un arreglo (o array) de un struct donde uno de los campos sea el entero que indique la prioridad.

También puedes obviar el reorganizar la estructura si el procedimiento de sacar datos simplemente busca el que tenga mas prioridad para extraerlo

Claro que no tenemos claro si estamos hablando de C, C++ y si puedes usar o no contenedores de la STL
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998