Пример #1
0
/************************************************ 
 * empilha                                      *
 * objetivo: rotina para inserir na pilha       *
 * entrada : pilha                              *
 * saida   : pilha com registro inserido no topo*
 ************************************************/ 
void empilha( PILHA** p )
{    
     //RESERVAR MEMORIA
     PILHA *nodo = (PILHA*) malloc(sizeof(PILHA));

     //VERIFICAR SE ELE CONSEGUIU RESERVAR MEMORIA
     if(nodo != NULL){

        //COLOCA A ENTRADA DE DADOS NA MEMORIA RESERVADA
        entrada_dados(nodo);

          //APONTA O PROX DO NOVO PARA O INICIO(OU PRIMEIRO) 
          nodo->prox = *p;

          //DEPOIS APONTA O INICIO PARA O NOVO
          *p  = nodo;

        printf("\n Dados incluidos com sucesso!");  
     }else{
      printf("\n Nao ha memoria disponivel!");
     }
 

 //

}
Пример #2
0
/*
 *Função Main
 */
int main(int argc, char const *argv[])
{
	// declara uma Pilha arvore
	Pilha* arvore;
	//faz arvore receber a entrada do usuário
	arvore = entrada_dados();		
	// declara e atribui um valor para a variável que contará o número de passos
	int nivel=0;

	//Laço de repetição que controlá quando o algoritimo achou o resultado
	do{
		//chama a função para criar uma arvore de possibilidades
		arvore = ramifica(arvore,&nivel);
	}while(arvore != NULL);	
	//imprime o resultado para o usuário
	printf("Número de passos %d\n",nivel);
	//fim do programa	
	return 0;
}