Buscar

PilhaEnc2 (1)

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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais