Buscar

Pilha Estatítica

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include <stdio.h>
#include <stdlib.h>
#define MAX 9
struct pilha{
	int i;
	float vet[MAX];
};
typedef struct pilha Pilha;
Pilha* cria(void){
	Pilha* p = (Pilha*)malloc(sizeof(Pilha));
	p->i = 0;
	return p;
}
void empilha(Pilha* p, float v){
	if(p->i == MAX){
		printf("\nCapacidade Esgotada\n");
		exit(1);
	}
	p->vet[p->i] = v;
	p->i++;
}
int vazia(Pilha* p){
	return(p->i == 0);
}
float desempilha(Pilha* p){
	float aux;
	if(vazia(p)){
		printf("\nPilha vazia\n");
		exit(1);
	}
	aux = p->vet[p->i-1];
	p->i--;
	return aux;
}
void Libera(Pilha* p){
	free(p);
}
void imprime(Pilha* p){
	int aux;
	for(aux=0; aux < p->i;aux++){
		printf("%f\n",p->vet[aux]);
	}
}
int main(int argc,char** argv){
	Pilha* k;
	k = cria();
	empilha(k,1.5);
	empilha(k,2.5);
	empilha(k,3.5);
	imprime(k);
	printf("\n=============================\n");
	desempilha(k);
	imprime(k);
}

Teste o Premium para desbloquear

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

Continue navegando