Olá pessoal, sou o Filipe Névola, este blog foi muito ativo durante 2009 enquanto eu fazia universidade,
hoje em dia estou ativo no Twitter @FilipeNevola e voltando a escrever posts agora no meu perfil do Medium (29/05/2016).

[ 19/05/2009 ] 0

Quick-Sort Random em C / C++

Código Fonte em C/C++:
Não deixe de conferir o gráfico de desempenho deste código!
//Autor: Filipe Areias Névola
//Ano: 2008
//Programa: Quick-Sort Random
//Licensa: Você pode usar e alterar, mas deve manter o Autor
//Chamada principal
void randQuickSort(int t){
    int p=0,r=t-1;
    randQuick(p,r);
}

void randQuick(int p,int r){
    int q;
    if(p<r){
        q=randPartition(p,r);
        randQuick(p,q-1);
        randQuick(q+1,r);
    }
}

int randPartition(int p,int r){
    int i=rand()%(p-r);
    i+=p;
    troca(v[r],v[i]);
    return partition(p,r);
}

int partition(int p,int r){
    int i,j;
    int x;
    x=v[r];
    i=p-1;
    for(j=p;j<=r-1;++j){
        if(v[j]<=x){
            i++;
            troca(v[i],v[j]);
        }
    }
    troca(v[i+1],v[r]);
    return i+1;
}
Não deixe de conferir a explicação teórica desse algoritmo!

Novo Comentário