diff --git a/t1/ordenacao.c b/t1/ordenacao.c index b5a20d12886c05c2feef543576a855d7789caf75..cf2f987641524d68dd04bcad2e363bb6e00136b4 100644 --- a/t1/ordenacao.c +++ b/t1/ordenacao.c @@ -49,14 +49,14 @@ int buscaBinariaCompleta(int vetor[], int tam, int inicio, int valor, int* numCo meio = (tam+inicio)/2; //confere no meio + *numComparacoes+=1; if (vetor[meio] == valor) { - *numComparacoes+=1; return meio; } //busca a esquerda + *numComparacoes+=1; if (vetor[meio] > valor) { - *numComparacoes+=1; return buscaBinariaCompleta(vetor,meio-1,inicio,valor,numComparacoes); } //busca a direita @@ -75,14 +75,14 @@ int buscaBinaria(int vetor[], int tam, int valor, int* numComparacoes){ } //confere no meio + *numComparacoes+=1; if (vetor[meio] == valor) { - *numComparacoes+=1; return meio; } // busca a esquerda + *numComparacoes+=1; if (vetor[meio] > valor) { - *numComparacoes+=1; return buscaBinariaCompleta(vetor,meio-1,a,valor,numComparacoes); } //busca a direita @@ -94,8 +94,8 @@ int busca(int vetor[], int a, int b, int valor, int* numComparacoes) { int meio; //caso base if (a>b) { + *numComparacoes+=1; if (valor > vetor[a]) { - *numComparacoes+=1; return a+1; } return a; @@ -103,14 +103,14 @@ int busca(int vetor[], int a, int b, int valor, int* numComparacoes) { meio = (a+b)/2; //confere no meio + *numComparacoes+=1; if (vetor[meio] == valor) { - *numComparacoes+=1; return meio+1; } // busca a esquerda + *numComparacoes+=1; if (vetor[meio] > valor) { - *numComparacoes+=1; return busca(vetor,a,meio-1,valor,numComparacoes); } //busca a direita @@ -178,8 +178,8 @@ int selectionSortCompleto(int vetor[], int a, int b, int* numComparacoes) { //do inicio ate o fim do vetor, checamos qual eh o menor valor for (int i=a;i<b;i++) { //se o valor em i for < que o valor em inicio + *numComparacoes+=1; if (vetor[i]<vetor[inicio]) { - *numComparacoes+=1; //marca o elemento em i como o menor menor = i; //ajusta o inicio para i @@ -233,8 +233,8 @@ void merge(int v[], int a, int m, int b, int* numComparacoes) { //se o vetor a direita tiver acabado OU //o vetor a esquerda acabo E //o elemento do primeiro for <= ao elemento do segundo + *numComparacoes+=1; if (j > b || (i <= m && v[i] <= v[j])) { - *numComparacoes+=1; //marca o elemento em i p = i; i++; @@ -284,8 +284,8 @@ int particionar(int v[], int a, int b,int* numComparacoes) { m = a; //percorre o vetor e faz a troca se o elemento em i é <= ao pivo for (int i=a;i<b;i++) { + *numComparacoes+=1; if (v[i] <= x) { - *numComparacoes+=1; troca(v,m,i); m++; } diff --git a/t1/ordenacao.o b/t1/ordenacao.o index 3c330f3c4de1b12bd427ff85e0a85936f811e7b1..ad04a848fc17c55de5907dc6267d31f58348c88a 100644 Binary files a/t1/ordenacao.o and b/t1/ordenacao.o differ diff --git a/t1/trab b/t1/trab index 63926ac198eb4def9de91b172ad7ce64079381f8..cfc5159d1ce8d49f1a7cc3fc888e05e9a0707361 100755 Binary files a/t1/trab and b/t1/trab differ