Example #1
0
arvore *desalocar(arvore *aux){
	if(aux!=NULL){
		aux->esq=desalocar(aux->esq);
		aux->dir=desalocar(aux->dir);
		delete aux;
	}
	return NULL;
}//método para desalocar a arvore
/*
 * Função recursiva para exclusão de nós (usada no esvaziar).
 */
No* desalocar( No* no ) {

    if ( no != NULL ) {
        no->esquerda = desalocar( no->esquerda );
        no->direita = desalocar( no->direita );
        free( no );
    }

    return NULL;

}
int main (void) {
    string s;
    celula *ini;
    ini = malloc (sizeof (celula));
    ini->prox = NULL;
    while ((s = readLine (stdin)) != NULL)
        processarLinha (ini, s);
    imprimeDicionario (ini);
    desalocar (ini);
    return EXIT_SUCCESS;
}
int main(){
    VetorBi *m= matriz(9,9); 
    
    int i,j; 
    
    atribuirValores(m);
    
    printf("Sudoku\n\n");
    imprimirMatriz(m);

    desalocar(m); 
    system("pause");
    return 0; 
}
Example #5
0
File: main.c Project: dsc784/PO
int main(){
    int ****Aula = NULL;                    //Matriz aula do professor i,para a turma j,no dia k no horário l
    int ***Pref = NULL;                     //Matriz de preferência do professor em dia e horário
    int **cargaHoraria = NULL;                                 //Matriz de Carga Horária
    int nProfs, nTurmas, nDias, nHorarios, op = 0;
    srand(time(NULL));

    do{
        menu();
        scanf("%d", &op);

        switch(op){
        case 1:
            criarInstancia();
            break;
        case 2:
            GRASP(&Aula, &Pref, &cargaHoraria, &nProfs, &nTurmas, &nDias, &nHorarios);
            system("pause");
            break;
        case 3:
            if(Aula != NULL){
                criaSimplex(Aula, Pref, cargaHoraria, nProfs, nTurmas, nDias, nHorarios);
            }else{
                printf("Voce deve executar o GRASP antes!\n");
            }
            system("pause");
            break;
        default:
            break;
        }
    }while(op >= 1 && op <= 3);

    //fObjetivo(Aula, Pref, nProfs, nTurmas, nDias, nHorarios);

    if(Aula != NULL)
        desalocar(&Aula, &Pref, &cargaHoraria, nProfs, nTurmas, nDias);

    return TRUE;
}
/*
 * Função para esvaziar a árvore.
 */
void esvaziar( ArvoreBinariaBusca *arvore ) {
    arvore->raiz = desalocar( arvore->raiz );
}
Example #7
0
int main(void){
	arvore *raiz=NULL;

	int op,achou,num;

	do{
		printf("\nMENU");
		printf("\n1 - Insere na Arvore");
		printf("\n2 - Consultar um no da Arvore");
		printf("\n3 - Consultar toda Arvore em pre-ordem");
		printf("\n4 - Consultar toda Arvore em ordem");
		printf("\n5 - Consultar toda Arvore em pos-ordem");
		printf("\n6 - Excluir um no da Arvore");
		printf("\n7 - Esvaziar toda Arvore");
		printf("\n8 - Sair");
		printf("\nOpcao: ");
		scanf("%i",&op);

		if(op==1){
			
			printf("\nNumero a inserir na Arvore: ");
			scanf("%i",&num);
			raiz=insere(raiz,num);
			printf("\nNumero inserido!");
		}//opção insere

		if(op==2){

			if(raiz==NULL)
				printf("\nArvore vazia!");
			else{
				printf("\nNumero a ser consultado: ");
				scanf("%i",&num);
				achou=0;
				achou=consultar(raiz,num,achou);

				if(achou==1)
					printf("\nNumero existente na Arvore!");
				else
					printf("\nNumero nao existente na Arvore!");
			}
		}//opção busca numero

		if(op==3){

			if(raiz==NULL)
				printf("\nArvore vazia!");
			else{
				printf("\nListando em pre-ordem\n");
				preordem(raiz);
			}
		}//opçao listar preordem

		if(op==4){

			if(raiz==NULL)
				printf("\nArvore vazia!");
			else{
				printf("\nListando em ordem\n");
				emordem(raiz);
			}
		}//opçao listar em ordem

		if(op==5){

			if(raiz==NULL)
				printf("\nArvore vazia!");
			else{
				printf("\nListando em pos-ordem\n");
				posordem(raiz);
			}
		}//opçao listar pos ordem

		if(op==6){

			if(raiz==NULL)
				printf("\nArvore vazia!");
			else{
				printf("\nInforme o numero a ser removido: ");
				scanf("%i",&num);
				achou=0;
				achou=consultar(raiz,num,achou);
				//verifica se o nó existe
				if(achou==0)
					printf("\nNumero nao existente na Arvore!");
				else{
					raiz=remover(raiz,num);
					printf("\nNumero removido!");
				}
			}
		}//opçao remoção

		if(op==7){

			if(raiz==NULL)
				printf("\nArvore vazia!");
			else{
				raiz=desalocar(raiz);
				printf("\nArvore desalocada!");
			}
		}//opçao desaloca

		printf("\n************************************************************\n");

		getc(stdin);
	}while(op>0 && op<9 && op!=8);

	return 0;
}