PLE:Unidad5Ejercicio14

/* programa:      ejH514 fecha:         25/04/07 Descipcion:    Implementa una cola mediante una lista enlazada.


 * 1) include
 * 2) include
 * 3) include

struct nodo{ int n;       nodo *ste; };

void insertar(nodo **cola, int num); int extraer(nodo **cola);

void main {       nodo *cola = NULL; char cont = 's'; int num;

// Introducimos elementos en la cola while(cont != 'n') {               cout << endl << "Introduzca un numero "; cin >> num; insertar(&cola, num); cout << endl << "¿Continuar (s/n)? "; cin >> cont; }

// Extraemos los elementos de la cola num = extraer(&cola); while(num != -1) {               cout << endl << "Elemento extraido " << num; num = extraer(&cola); }

cin.ignore; cin.get; }

void insertar(nodo **cola, int num) {	nodo *nuevo, *ultimo = *cola; nuevo = new nodo; nuevo->n = num;

//Si la cola esta vacía, insertamos al principio if(ultimo == NULL) {       	nuevo->ste = ultimo; *cola = nuevo; }       else // Insertamos por el final {               while(ultimo->ste != NULL) ultimo = ultimo->ste; nuevo->ste = NULL; ultimo->ste = nuevo; } }

int extraer(nodo **cola) {	nodo *elemento; int num;

elemento = *cola; if(elemento == NULL) num = -1; // Si cola vacía devolvemos -1 else {               // Localizamos el elemento a extraer que es el primero *cola = elemento->ste; num = elemento->n; delete elemento; }	return num; }