Fandom

Scratchpad

PLE:Unidad5Ejercicio14

215,919pages on
this wiki
Add New Page
Discuss this page0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

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

#include<iostream.h>
#include<stdlib.h>
#include<string.h>

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;
}

Also on Fandom

Random wikia