Y ¿como muestro el elemento al principio de la cola?
Código
#include <iostream> #include <conio.h> #include <stdlib.h> using namespace std; struct Nodo{ int dato; Nodo *siguiente; }; void insertarCola(Nodo *&,Nodo *&, int); void mostrarCola(Nodo *&); bool cola_vacia(Nodo *); void eliminarCola(Nodo *&,Nodo *&, int &); void frenteCola(Nodo *&); void finalCola(Nodo *&); int main(){ Nodo *frente = NULL; Nodo *fin = NULL; int dato[10]; cout<<"\nIngrese el valor para la COLA: "; cin>>dato[10]; insertarCola(frente,fin,dato[10]); cout<<"\nValor: " <<dato[10]<< " ingresado correctamente\n"; mostrarCola(frente); frenteCola(frente); finalCola(fin); cout<<"\nLos valores fueron eliminados correctamente "; while (frente !=NULL){ eliminarCola(frente,fin,dato[10]); if(frente !=NULL){ cout<<dato<<" , "; } else{ cout<<dato<<" . "; } } cout<<"\n"; return 0; } //Función para insertar valores a la COLA void insertarCola(Nodo *&frente, Nodo *&fin, int n){ Nodo *nuevo_nodo = new Nodo(); nuevo_nodo->dato = n; nuevo_nodo->siguiente = NULL; if(cola_vacia(frente)){ frente = nuevo_nodo; } else{ fin->siguiente = nuevo_nodo; } fin = nuevo_nodo; } void mostrarCola(Nodo *&frente){ while(frente !=NULL){ cout<<"Datos de la cola: "<<frente->dato<< "\n"; frente=frente->siguiente; } } //Función determinar si la cola esta vacía bool cola_vacia(Nodo *frente){ return (frente == NULL)? true : false; } //Función para mostrar el principio de la COLA void frenteCola(Nodo *&frente){ while(frente != NULL){ cout<<"Dato: " <<frente->dato<< " se encuentra al frente de la COLA\n"; frente = frente->siguiente; } } //Función para mostrar el final de la cola void finalCola(Nodo *&fin){ while (fin != NULL){ cout<<"Dato: " <<fin->dato<< " se encuentra al final de la COLA\n"; fin=fin->siguiente; } } //Función para extraer valores de la COLA void eliminarCola(Nodo *&frente,Nodo *&fin, int &n){ n = frente->dato; Nodo *aux = frente; if(frente == fin){ frente = NULL; fin = NULL; } else{ frente = frente->siguiente; } delete aux; }
MOD: El código debe ir entre etiquetas de Código GeSHi