terça-feira, 26 de abril de 2011

Codigo Fonte de Uma Pilha Desordenada em C++!!!

Bem o codigo pra vc copilar no Dev-C++ :

//includes da pilha

#include <cstdlib>
#include <iostream>
#include <stdio.h>

using namespace std;
//estrutura

struct noStack{
int info;
 noStack *prox;
              };
       noStack *Stack;
       void criarStack(){
            Stack = NULL;
            }
//verifica se está vazia!
     bool Isempty(){
                 if (Stack == NULL)
                                  return true;                
                 else return false;
                 }
//metodo para inserir elementos na pilha
                  void  push (int elem){
                      noStack *novo;
                      novo = new noStack;
                      novo -> info = elem;
                           if (Isempty() == true){
                                   novo -> prox = NULL;
                                    Stack = novo;
                                    }
                                    else {
                             novo -> prox=Stack;           
                             Stack = novo;
                              }
                 system ("PAUSE");
                       }
//metodo para remover da pilha
                    void pop()
                       {
                            noStack *aux;
                       if(Isempty() == true){                                        
                                         cout << "\n\nPilha vazia!" << endl;
                                         system("PAUSE"); 
                                                 }
                                     else {
                                   aux = Stack;
                                   Stack = Stack -> prox;
                                   delete aux;
                                  }
                        }
//ver no topo
                 noStack  top()
                       {           
                             if(Isempty() == true){                                        
                                         cout << "Pilha vazia!" << endl;
                                         system("PAUSE"); 
                                                 }
                                        else {
                                 printf("\n\no elemento do top e ");       
                                 cout << Stack -> info << endl;
                                 system("PAUSE");
                                    }                                                           
                                   }
int main()
{
        int opcao, elemento;
    criarStack();
    do {
        system("CLS");
        cout << "1 - inserir na pilha" << endl;
        cout << "2 - remover na pilha" << endl;
        cout << "3 - imprimir valores da pilha" << endl;
        cout << "0 - sair" << endl;
         printf ("\n\nentre com a opcao:  ");
        cin >> opcao;
           switch (opcao){
               case 1: printf("\n\nEntre com o elemento que deseja inserir:  ");
                       cin >> elemento;
                       push (elemento);
                       break;
                case 2: pop();
                       break;
               case 3: top();
                       break;
              case 0: exit(0)
                   ;   
                      }
                     
        }while (true == true);
   
    system("PAUSE");
    //return EXIT_SUCCESS;
}

Nenhum comentário:

Postar um comentário