Beispiel #1
0
void em_ordem(NoABP *n, void (*mostra_info)(void *) ){ //modificado
   if(n != NULL){
      em_ordem(n->esq, (*mostra_info) );
      //(*mostra_info)(n->info);
      (*mostra_info)(n);
      em_ordem(n->dir, (*mostra_info) );
   }
}
void em_ordem(tree * figueira, nodo * temp){



	if (temp != NULL){
		em_ordem(figueira, temp->esq);
		display(temp);
		em_ordem(figueira, temp->dir);
	}
}
void em_ordem(struct no* atual) {
	int j=0;
	if(atual!=NULL) {
		em_ordem(atual->esq);
		printf("%s -", atual->palavra); //imprime a palavra
		printf(" %d vezes nas paginas = ", atual->contador); //impreme quantas vezes ela apareceu
		while(j < atual->contador) {
			printf("%d,",atual->pag[j]); //imprime as paginas que a palavra apareceu
			j++;
		}
		printf("\n");
		em_ordem(atual->dir);
	}
}
Beispiel #4
0
void percurso_em_ordem(ABP a, void (*mostra_info)(void *) ){
     if(a.raiz == NULL)
        printf("Arvore vazia!\n");
     else{
        printf("Percurso Em-Ordem:\n\n");
        em_ordem(a.raiz, (*mostra_info) );
     }
     printf("----------------------\n\n");
}
main(){
	char palavra[TAM];
	FILE *fp;

	fp = fopen("texto.txt", "r");
	while(!feof(fp)){
		fscanf(fp,"%s", palavra);
		if(strcmpi(palavra, "") != 0)
			verifica(palavra);
		strcpy(palavra,"");//Pra nao correr o risco de inserir lixo de memoria..
	}					// ..a variavel palavra é "zerada"
	em_ordem(raiz);

	getch();
}
// ------------------------------------------------------------------------------
// Funcao main
// ------------------------------------------------------------------------------
int main() {

tree * figueira;
int escolha;
figueira = init();
	
	for ( ; ; ){
		escolha = menu();
		switch(escolha){
			
			case 1:inserir(figueira);
			break; 
			case 2: excluir(figueira);
			break; 
			case 3: pesquisar(figueira);
			break;
			case 4: h(figueira);	
			break;
			case 5: { 
					printf("\n");
					printf("5. Em ordem\n");
					printf("------------------------\n");
						em_ordem(figueira, figueira->raiz);
						printf("\n");
			}
			break;
			case 6: {
					printf("\n");
					printf("6. Pre ordem\n");
					printf("------------------------\n");
						pre_ordem(figueira, figueira->raiz);
						printf("\n");
			}
			break;
			case 7: {
					printf("\n");
					printf("7. Pos ordem\n");
					printf("------------------------\n");
						pos_ordem(figueira, figueira->raiz);
						printf("\n");
				}
			break;
			case 8: exit(0);
			break;
		}
	}
}
Beispiel #7
0
int main(int argc, char *argv[]) {
	int op;
	char *palavra_chave = (char *) malloc(20 * sizeof(char));
	
	ARVORE_BINARIA *ab = criar_arvore();
	
	leitura_arq_palavras(ab);
	char continua;
	
	do {
		system("clear");
		printf("Entre com a opcao desejada:\n----------------------------------\n");
		printf("1 - Inserir palavra-chave\n");
		printf("2 - Mostrar indice remissivo\n");
		printf("3 - Buscar por palavra\n");
		printf("4 - Sair\n");
		printf("Opcao: "); scanf(" %d", &op);
		fflush(stdin);
		switch (op) {
			case 1:
				printf("Nova palavra: "); scanf(" %s", palavra_chave);
				inserir_pc(ab, palavra_chave);
				printf("\nDigite q + ENTER para continuar: ");
				scanf(" %c", &continua);
			break;
			case 2:
				em_ordem(ab);
				printf("\nDigite q + ENTER para continuar: ");
				scanf(" %c", &continua);
			break;
			case 3:
				printf("Palavra: "); scanf(" %s", palavra_chave);
				leitura(ab, palavra_chave);
				printf("\nDigite q + ENTER para continuar: ");
				scanf(" %c", &continua);
			break;
		}
	} while (op >= 0 && op < 4);
		
	free(palavra_chave);
	return 0;
}
void excluir(tree * figueira){
	element * temp;
    nodo * aux;
	
		if (!(temp = malloc(sizeof(element)))){
		printf("\n");
		printf("Erro no malloc do elemento.");
		printf("\n");
		exit(1);
	}
	
	printf("Elementos inseridos: ");
	aux = figueira->raiz;
	em_ordem(figueira, aux);
	
	printf("\n");
	printf("2. Excluir\n");
	printf("------------------------\n");
	printf("Elemento: ");
	scanf("%d", &(temp->valor));
	printf("\n");
	
	exclude(figueira->raiz, temp);
	
 // ----------------	
	
	if (aux == NULL) {
		printf("Arvore vazia\n");
		printf("\n");
		
	} else {
		printf("Ok! Elemento excluido.\n");
		printf("\n");
	}
	 
}