Pilha em C

371 palavras 2 páginas
#include
#include
#include // Usada para a função 'pilhaVazia' para retornar resultados de Verdadeiro ou Falso

typedef struct registro{ int dado; struct registro *prox;
} tipoPilha;

//inserir elemento tipoPilha* inserir(int InserirElemento, tipoPilha *pilha){ tipoPilha *aux; aux = (tipoPilha*) malloc(sizeof(tipoPilha)); aux->dado = InserirElemento; //aux usado para passar o elemento inserido para a pilha aux->prox = pilha; pilha = aux;
}

//Checar se a pilha está vazia bool pilhaVazia(tipoPilha *pilha) { if (pilha==NULL) return true; else return false; }

/*Retornar o último elemento inserido da lista (topo). Usa a lógica aplicada na função 'pilhaVazia' para checagem inicial, a fim de evitar erros com lixo de memória. A mesma lógica é aplicada nas funções seguintes. */ int PrintElem(tipoPilha *pilha){ if (pilha!=NULL){ printf("\nO topo da pilha eh o elemento %d", pilha->dado); } else printf("\nPilha vazia");
}

//Remove o elemento do topo da lista tipoPilha* Remove(tipoPilha *pilha){ if (pilha!=NULL){tipoPilha *aux; aux = pilha->prox; free(pilha); pilha = aux; printf("\nElemento removido\n"); } else printf("\nPilha vazia");
}
//Remove todos os elementos da lista. Usa a lógica aplicada na função 'Remove' em um laço. tipoPilha* RemoveTodos(tipoPilha *pilha){ if(!Remove(pilha)){ while (pilha != NULL){ tipoPilha *aux; aux = pilha->prox; free(pilha); pilha = aux; } } else printf("A pilha esta vazia");
}

//Função principal, usada para exibir o menu e para operações básicas de printf e afins. int main() { tipoPilha *pilha = NULL; bool terminou = false;

while (!(terminou)) { int opt=0; printf("\n\nMenu\n"); printf("1 - Inserir elemento no topo da pilha\n"); printf("2 - Verificar se a pilha esta vazia\n"); printf("3 - Exibir elemento do topo da lista\n"); printf("4 - Remover elemento do topo\n"); printf("5 -

Relacionados

  • Pilhas C++
    1680 palavras | 7 páginas
  • Pilha em c/c++
    416 palavras | 2 páginas
  • PIlhas em C
    1268 palavras | 6 páginas
  • pilha c#
    1003 palavras | 5 páginas
  • Pilha c
    552 palavras | 3 páginas
  • Pilhas em c e c++
    476 palavras | 2 páginas
  • Pilhas em C
    758 palavras | 4 páginas
  • Pilha C++
    3832 palavras | 16 páginas
  • Pilha em c++
    352 palavras | 2 páginas
  • Pilha ling c
    652 palavras | 3 páginas