diff --git a/busca.c b/busca.c index 67ad4415d3db96c3a93b52fe4a63507311a102b6..54a2d3a8888ed8fd1719bc16f54b5a3c7c98c9a8 100644 --- a/busca.c +++ b/busca.c @@ -94,7 +94,10 @@ int mediana (int *vet, int esq, int dir) void Particao (int *vet, int esq, int dir, int *pos_pivo) { int i, j, aux, pivo, med = mediana(vet, esq, dir); - i = esq; + pivo = vet[med]; + vet[med] = vet[esq]; + vet[esq] = pivo; + i = esq+1; j = dir; while (i < j) { diff --git a/busca.h b/busca.h index f1035e8d18ddcf51349d468f81630c114f3495f4..e85b2a46b35cabeeeb34557aca62aa3ac2f3388c 100644 --- a/busca.h +++ b/busca.h @@ -3,6 +3,7 @@ #include <stdio.h> #include <stdlib.h> + int pesqseq (int *, int , int ); int pesqbin (int *, int , int ); void menor (int *, int *, int );