Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- typedef struct no {
- struct no* proximo;
- char c;
- } No;
- typedef struct pilha {
- struct no* primeiro;
- } Pilha;
- Pilha* inicializarPilha(Pilha* p) {
- p->primeiro = NULL;
- return p;
- }
- Pilha* push(Pilha* p, char caractere) {
- No* novo = new No();
- novo->c = caractere;
- if (p->primeiro == NULL) {
- novo->proximo = NULL;
- p-> primeiro = novo;
- } else {
- novo->proximo = p->primeiro;
- p->primeiro = novo;
- }
- return p;
- }
- char pop(Pilha *p) {
- char caractere;
- No* aux = p->primeiro;
- caractere = p->primeiro->c;
- if (p->primeiro->proximo == NULL) {
- p->primeiro = NULL;
- } else {
- p->primeiro = p->primeiro->proximo;
- }
- delete aux;
- return caractere;
- }
- void mostrarElementos(Pilha *p) {
- No* aux = p->primeiro;
- while (aux != NULL) {
- printf("%c ", aux->c);
- aux = aux->proximo;
- }
- }
- int main() {
- Pilha* p = new Pilha();
- p = inicializarPilha(p);
- p = push(p, '(');
- p = push(p, '(');
- p = push(p, '[');
- p = push(p, 'c');
- mostrarElementos(p);
- pop(p);
- pop(p);
- printf("\n");
- mostrarElementos(p);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement