Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
PilhaEnc/bin/Debug/PilhaEnc __MACOSX/PilhaEnc/bin/Debug/._PilhaEnc __MACOSX/PilhaEnc/bin/._Debug __MACOSX/PilhaEnc/._bin PilhaEnc/main.c #include <stdio.h> #include <stdlib.h> #include "pilha_enc.h" int main() { tPilha p1; int tam = 0, to = 0; printf("Inicio do programa \n"); cria(&p1); /* cria a pilha p1 */ tam = tamanho(p1); printf("Tamanho inicial da pilha = %d \n", tam); push(&p1, 10); push(&p1, 20); push(&p1, 30); push(&p1, 40); tam = tamanho(p1); printf("\n\nTamanho atual da pilha = %d \n", tam); pop(&p1, &to); printf("Topo da pilha = %d \n", to); pop(&p1, &to); printf("Topo da pilha = %d \n", to); push(&p1, 50); pop(&p1, &to); printf("Topo da pilha = %d \n", to); pop(&p1, &to); printf("Topo da pilha = %d \n", to); pop(&p1, &to); printf("Topo da pilha = %d \n", to); tam = tamanho(p1); printf("\n\nTamanho final da pilha = %d \n", tam); return 0; } __MACOSX/PilhaEnc/._main.c ��������Mac OS X ����� ���2���½�������ï��������������������������������������ATTR�������ï���œ���S�������������������œ���S���com.dropbox.attributes���xœ«VJ)Ê/HʯˆOËÌIÍL‰ÏÉONÌQ²R¨VÊMLÎÈÌ�‰%–”��…R�K���%£üòL—€° ´ÜDÓb#çÀ¢²´â’r[[¥ÚÚZ�Îi�� PilhaEnc/obj/Debug/main.o __MACOSX/PilhaEnc/obj/Debug/._main.o PilhaEnc/obj/Debug/pilha_enc.o __MACOSX/PilhaEnc/obj/Debug/._pilha_enc.o __MACOSX/PilhaEnc/obj/._Debug __MACOSX/PilhaEnc/._obj PilhaEnc/pilha_enc.c #include <stdlib.h> #include "pilha_enc.h" /** Cria uma Pilha */ void cria (tPilha *pilha) { pilha->topo = NULL; pilha->tam = 0; } /** Verifica se a Pilha está vazia*/ int vazia (tPilha pilha) { if (pilha.tam == 0){ return 1; } else{ return 0; } } /** Obtém o tamanho da Pilha*/ int tamanho (tPilha pilha) { return pilha.tam; /* tPilha *p = pilha.topo; int i = 0; while(p != NULL){ p = p->prox; i++; } return i; */ } /** Consulta o elemento do topo da Pilha A função retorna 0 se a pilha estiver vazia. Caso contrário, retorna 1.*/ int top (tPilha pilha, int *dado) { if (vazia(pilha)){ return 0; /* Pilha vazia */ } else{ *dado = (pilha.topo)->dado; return 1; } } /** Insere um elemento no topo da pilha. Retorna 0 se a memória for insuficiente. Caso contrário retorna 1 */ int push(tPilha *pilha, int valor) { tNo *novoNo; /* variavel que vai armazenar novo no*/ /* Aloca memoria para novo no */ novoNo = (tNo *) malloc(sizeof(tNo)); if (novoNo == NULL){ return 0; /* mem. insufic. */ } /* Preenche o campo dado do novo no com o valor que deseja empilhar */ novoNo->dado = valor; /* Faz o novo no apontar pro atual topo da pilha */ novoNo->prox = pilha->topo; /* Atualiza o topo da pilha que agora sera o novo nó */ pilha->topo = novoNo; /* Atualiza o tamanho da pilha */ pilha->tam++; return 1; } /** Retira o elemento do topo da pilha. Retorna 0 se a pilha estiver vazia. Caso contrário retorna 1 */ int pop (tPilha *pilha, int *valor ) { tNo *p; if (vazia(*pilha)) { return 0; /* pilha vazia */ } /* Guarda o no que é o atual topo da pilha */ p = pilha->topo; /* Guarda o valor do topo da pilha */ *valor = p->dado; /* Modifica o topo da pilha para ser o proximo elemento (2o elemento da pilha) */ /* Isso equivale a retirar o 1o elemento (topo) da pilha */ pilha->topo = p->prox; /* Decrementa o tamanho da pilha */ pilha->tam--; /* Libera a memoria do elemento desempilhado (p) */ free(p); return 1; } __MACOSX/PilhaEnc/._pilha_enc.c ��������Mac OS X ����� ���2���½�������ï��������������������������������������ATTR�������ï���œ���S�������������������œ���S���com.dropbox.attributes���xœ«VJ)Ê/HʯˆOËÌIÍL‰ÏÉONÌQ²R¨VÊMLÎÈÌ�‰%–”��…R�K���¥ääòœbŸ¼”J/�ð¤œô€²$ÿìôt[[¥ÚÚZ�ÛT�Œ PilhaEnc/pilha_enc.h #ifndef PILHA_ENC_H_INCLUDED #define PILHA_ENC_H_INCLUDED typedef struct no { int dado; /* informação */ struct no *prox; /* posição do topo da pilha */ } tNo; /* tipo do nó */ typedef struct{ tNo *topo; int tam; }tPilha; void cria(tPilha *pilha); int vazia(tPilha pilha); int tamanho(tPilha pilha); int top(tPilha pilha, int *dado); int push(tPilha *pilha, int valor); int pop(tPilha *pilha, int *valor ); #endif // PILHA_ENC_H_INCLUDED __MACOSX/PilhaEnc/._pilha_enc.h ��������Mac OS X ����� ���2���½�������ï��������������������������������������ATTR�������ï���œ���S�������������������œ���S���com.dropbox.attributes���xœ«VJ)Ê/HʯˆOËÌIÍL‰ÏÉONÌQ²R¨VÊMLÎÈÌ�‰%–”��…R�K���¥@ÃÌ0G/ƒÔr�çŒâ4‹tç2ó€Ôr[[¥ÚÚZ�Á¨�V PilhaEnc/PilhaEnc.cbp __MACOSX/PilhaEnc/._PilhaEnc.cbp PilhaEnc/PilhaEnc.depend # depslib dependency file v1.0 1445287240 source:/Users/tiagomaritan/Dropbox/ufpb-ci/2015.1/ED/Exemplos/PilhaEnc/pilha_enc.c <stdlib.h> "pilha_enc.h" 1445284801 /Users/tiagomaritan/Dropbox/ufpb-ci/2015.1/ED/Exemplos/PilhaEnc/pilha_enc.h __MACOSX/PilhaEnc/._PilhaEnc.depend PilhaEnc/PilhaEnc.layout __MACOSX/PilhaEnc/._PilhaEnc.layout __MACOSX/._PilhaEnc
Compartilhar