int main() { int n; char i; printf("Digite o Número a ser testado\n"); n=1; while(n<1000000) { if(Testa(n)) { printf("oi"); break; } n++; } printf("\nContinuar? [s/n]"); scanf("%s",&i); switch(i) { case 's': main(); break; case 'n': return 0; default: printf("Que?\n"); } return 0; }
int main(int argc, char *argv[]) { struct timeval t; No *Dicionario; Registro x; TipoChave vetor[max]; int i, j, k, n; Inicializa(&Dicionario); /* Gera uma permutação aleatoria de chaves entre 1 e max */ for (i = 0; i < max; i++) vetor[i] = i+1; //gettimeofday(&t,NULL); srand((unsigned int)t.tv_usec); Permut(vetor,max-1); /* Insere cada chave na arvore e testa sua integridade apos cada insercao */ for (i = 0; i < max; i++) { x.Chave = vetor[i]; Insere(x, &Dicionario); printf("Inseriu chave: %d\n", x.Chave); Testa(Dicionario); getchar(); } NotaText(Dicionario); getchar(); /* Retira uma chave aleatoriamente e realiza varias pesquisas */ for (i = 0; i <= max; i++) { k = (int) (10.0*rand()/(RAND_MAX+1.0)); n = vetor[k]; x.Chave = n; Retira(x, &Dicionario); Testa(Dicionario); printf("Retirou chave: %ld\n", x.Chave); for (j = 0; j < max; j++) { x.Chave = vetor[(int) (10.0*rand()/(RAND_MAX+1.0))]; if (x.Chave != n) { printf("Pesquisando chave: %ld\n", x.Chave); Pesquisa(&x, &Dicionario); } } x.Chave = n; Insere(x, &Dicionario); printf("Inseriu chave: %ld\n", x.Chave); Testa(Dicionario); } /* Retira a raiz da arvore ate que ela fique vazia */ for (i = 0; i < max; i++) { x.Chave = Dicionario->Reg.Chave; Retira(x, &Dicionario); Testa(Dicionario); printf("Retirou chave: %ld\n", x.Chave); } getchar(); return 0; }