//Eliminar elementos de una cola
#include<iostream>
#include<stdlib.h>
#include <conio.h>
using namespace std;
struct Nodo{
int dato;
Nodo *siguiente;
};
void insertarCola (Nodo *&, Nodo*&, int);
bool cola_vacia(Nodo *);
void eliminarCola(Nodo *&,Nodo *&,int &);
int main(){
Nodo *frente= NULL;
Nodo *fin=NULL;
int dato;
cout<<"Inserte un numero"<<endl;
cin>>dato;
insertarCola(frente,fin,dato);
cout<<"Inserte un numero"<<endl;
cin>>dato;
insertarCola(frente,fin,dato);
cout<<"Inserte un numero"<<endl;
cin>>dato;
insertarCola(frente,fin,dato);
while(frente != NULL){
eliminarCola(frente,fin,dato);
if(frente !=NULL){
cout<<dato<<" , ";
}else{
cout<<dato<<".";
}
}
getch ();
return 0;
}
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=nuevo_nodo->siguiente;
}
fin=nuevo_nodo;
cout<<"\n El numero ingresado "<<n<<" Se agrego correctamente"<<endl;
}
// bool para saber si la cola está vacía
bool cola_vacia(Nodo *frente){
return (frente==NULL)? true:false;
}
//funcion para eliminar 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;
}
No hay comentarios:
Publicar un comentario