Fandom

Scratchpad

PLE:Unidad5Ejercicio13

219,559pages on
this wiki
Add New Page
Discuss this page0 Share
/*
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;
}

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.

Also on Fandom

Random wikia