Skip to content
Snippets Groups Projects
Commit 1a9b797d authored by Vinícius Fontoura's avatar Vinícius Fontoura
Browse files

number of comparisons fixed

parent 3acc4712
No related branches found
No related tags found
No related merge requests found
......@@ -49,14 +49,14 @@ int buscaBinariaCompleta(int vetor[], int tam, int inicio, int valor, int* numCo
meio = (tam+inicio)/2;
//confere no meio
if (vetor[meio] == valor) {
*numComparacoes+=1;
if (vetor[meio] == valor) {
return meio;
}
//busca a esquerda
if (vetor[meio] > valor) {
*numComparacoes+=1;
if (vetor[meio] > valor) {
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
if (vetor[meio] == valor) {
*numComparacoes+=1;
if (vetor[meio] == valor) {
return meio;
}
// busca a esquerda
if (vetor[meio] > valor) {
*numComparacoes+=1;
if (vetor[meio] > valor) {
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) {
if (valor > vetor[a]) {
*numComparacoes+=1;
if (valor > vetor[a]) {
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
if (vetor[meio] == valor) {
*numComparacoes+=1;
if (vetor[meio] == valor) {
return meio+1;
}
// busca a esquerda
if (vetor[meio] > valor) {
*numComparacoes+=1;
if (vetor[meio] > valor) {
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
if (vetor[i]<vetor[inicio]) {
*numComparacoes+=1;
if (vetor[i]<vetor[inicio]) {
//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
if (j > b || (i <= m && v[i] <= v[j])) {
*numComparacoes+=1;
if (j > b || (i <= m && v[i] <= v[j])) {
//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++) {
if (v[i] <= x) {
*numComparacoes+=1;
if (v[i] <= x) {
troca(v,m,i);
m++;
}
......
No preview for this file type
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment