TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Algoritimo Quicksort

Ensaios: Algoritimo Quicksort. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  14/10/2013  •  622 Palavras (3 Páginas)  •  315 Visualizações

Página 1 de 3

#include <stdio.h>

#include <stdlib.h>

int vetor[10];

void mostravetor()

{

int i;

for (i=0; i<=9; i++)

{

printf("\n %i", vetor[i]);

}

}

int particao(int inf, int sup)

{

int pivo, temp, baixo, alto;

pivo = vetor[inf];

alto = sup;

baixo = inf;

while(baixo < alto)

{

while((vetor[baixo] <= pivo) && (baixo < sup))

{

baixo++; // Vou incrementando até chegar no maior que o pivo

}

while(vetor[alto] > pivo)

{

alto--; // Vou decrementando até chegar no menor que pivo

}

if(baixo < alto)

{ // Troco os valores encontrados

temp = vetor[baixo];

vetor[baixo] = vetor[alto];

vetor[alto] = temp;

}

}

// Coloco o pivo no meio e recomeço para cada lado

vetor[inf] = vetor[alto];

vetor[alto] = pivo;

return alto;

}

void quicksort(int esq, int dir)

{

int i;

if(dir > esq)

{

i = particao(esq, dir);

quicksort(esq, i-1);

quicksort(i+1, dir);

}

}

void quicksort(int v[], int esq, int dir)

{

int i=esq, j=dir, pivo, aux;

pivo=v[(i+j)/2];

do {

while(v[i] < pivo )

...

Baixar como (para membros premium)  txt (2 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com