Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PORTADA_________________________________________________________1
INDICE___________________________________________________________2
CODIGO DOCUMENTADO___________________________________________5-10
SALIDAS DE CODIGO(TERMINAL)_____________________________________11-13
BIBLIOGRAFIAS____________________________________________________14
3
Crear un programa en C que implemente las operaciones queue y dequeue para una cola dinámica.
Cada item de la cola se creará dinámicamente (deberá utilizar punteros) y tendrá dos elementos:
una sección data (en este caso de tipo struct con un Id entero y una descripción string) y un
apuntador al siguiente item de la lista.
El valor de los elementos deberá ser solicitado al usuario.El programa deberá mostrar un menú en
pantalla que permita seleccionar la operación a realizar, además de imprimir la cola.
En nuestro código implementado en C se nos pedía realizar una cola o como cor44dialmente se nos
pide un queue y un dequeue en el cual nosotros vamos a guardar un dato en dicha cola gracias a un
id y una descripción de un articulo cualquiera, la propuesta de solución en nuestro código
implementado en C es en primera instancia crear nuestra cola y dada la cola definir nuestra
variables a guardar tales como lo son los “ítems” en los que almacenamos id y descripción dado eso
gracias a una función, empezando por un menú en donde el usuario debe de elegir que acción
realizar, desde añadir elementos a la cola, eliminar elementos a la cola, imprimir los elementos de
la cola y salir, una vez que el código se ejecuta se crea una cola vacía y las variables, una vez des la
opción de añadir objeto se va a mandar a traer la función queue la cual te pedirá los datos y los
enviara a la cola y el apuntador front y rear van a buscar cual es el primer dato ingresado y el
ultimo, tal que el primer ítem es siempre el ultimo, una vez que ingreses más ítems o datos los
apuntadores de rear y front se van a ir actualizando, nuestro apuntador rear nos ayudara a
identificar lo mas bajo de la cola ayudándonos a añadir más ítems por debajo de este, ahora gracias
a nuestro apuntador front nos ayudar a conocer el tope de nuestra pila el que nos ayudara a
eliminar gracias a la función dequeue ya que este al eliminar ser actualizara su posición al ítem que
está por debajo de la punta y liberara memoria eliminando de nuestra memoria aquella variable
que ingresamos en primera instancia, ahora gracias a la función PrintQueue crearemos un puntero
que va a ir recorriendo toda nuestra cola imprimiéndola hasta que se llegue a un estado NULO, a
continuación se muestra el diagrama utilizado como guía para la elaboración del código
implementado en C:
5
#include <stdlib.h>
#include <string.h>
Item {
int id;
char description[100];
};
};
struct Item* createItem(int id, const char *description) {//creamos la funcion de crear item ue
recibe como argumento el identificador y un puntero a una cadema de caracteres
void initializeQueue(struct Queue *queue) {//iniciamos una funcion con argumento de un puntero
a la estructura queue
void enqueue(struct Queue *queue, struct Item *newItem) {//funcion que toma como parametros
el puntero a queue ue representa la cola y puntero a item que representa el nuevo elemento a
agregar if (queue->rear == NULL) {//mediante una sentencia verificamos si la cola esta
vacia
void printQueue(const struct Queue *queue) {//funcion con parametros a la cola de manera
constante printf("Cola:\n");//mandamos a imprimir a pantalla
while (current != NULL) {//mediante una sentencia recorremos nuestro puntero donde no
sea nulo para encontrar los elementos de la cola
int main() {
initializeQueue(&queue);
int opcion;
do {
break;
case 2:
dequeue(&queue);//llamamos a la funcion
break;
case 3:
printQueue(&queue);//llamamos a la funcion
break;
case 0:
break;
default:
printf("Opción no válida.\n");
return 0;
}
10
11
Y tal como se puede observar ya nos quedamos con la cola vacía, salimos del programa:
14