Fandom

Scratchpad

PLE:Unidad5Ejercicio13

216,208pages 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:       ejH513
fecha:          25/04/07
Descipcion:     Implementa una pila mediante una lista enlazada.
*/

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

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

void push(nodo **pila, int num);
int pop(nodo **pila);

void main()
{
        nodo *pila = NULL;
        char cont = 's';
        int num;

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

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

        cin.ignore();
        cin.get();
}

void push(nodo **pila, int num)
{
	nodo *nuevo;

	// nodo nuevo
	nuevo = new nodo;
	nuevo->n = num;

	// Insertamos el nuevo nodo
	nuevo->ste = *pila;
	*pila = nuevo;
}


int pop(nodo **pila)
{
	nodo *nodopop;
	int num;

	nodopop = *pila;
	if(nodopop == NULL)
		num = -1; // Si pila vacía devolvemos -1
	else
	{
		*pila = nodopop->ste;
		num = nodopop->n;
		delete nodopop;
	}
	return num;
}

Also on Fandom

Random wikia