SdevLab – Exemplo de Código | Ordenação de vetores dinâmicos em C/C++

Fala Galera!

Segue abaixo um código de ordenação de vetores dinâmicos em c++. Na verdade são dois exemplos, o quick sort e o shell sort.

Ordenação de vetores dinâmicos em C/C++

O exemplo é bastante simples, primeiro você entra com o vetor e depois dele povoado você escolhe o algoritmo à usar e o vetor sai ordenado no final. É uma aplicação simples porque a idéia é mostrar os algoritmos de ordenação na prática!

Segue o código:


#include
#include
using namespace std;
// shellsort ..........................................
void shellsort(int x[], int tamanho, int nPassos)
{
    int incr,i,j,k,span,y;
    int *incrementos;
    incrementos = new int[nPassos];
    for (i=0;i<=nPassos;i++)
        incrementos[i] = (int)round(exp((nPassos-i)*log(2.0)));
    for (incr=0;incr<=nPassos;incr++)
    {
        //span é o tamanho de incrementos
        span = incrementos[incr];
        for (j=span;j=0 && y< pivo)
             esq++;
        while (vetor[dir] > pivo)
            dir--;
        if (esq <= dir)
        {
            trab = vetor[esq];
            vetor[esq] = vetor[dir];
            vetor[dir] = trab;
            esq++;
            dir--;
        }
    }while (esq <= dir);     if (dir-i >= 0)
        quickSort(vetor,tamanho,i,dir);
    if (j-esq >= 0)
        quickSort(vetor, tamanho, esq, j);
}
int main(){
    int *vetor;
    int aux,aux2,aux3;
    cout << "Quantos elementos voce deseja armazenar?" << endl;
    cin >> aux;
    vetor = new int[aux];
    for(int i=0;i<< "Entre com um número." << endl;
        cin >> aux2;
        vetor[i] = aux2;
        }
    cout << "Entre com 1 para ordenar usando o quickSort ou 2 para ordenar usando o shellsort."    << endl;
    cin >> aux3;
        if(aux3==1)
            quickSort(vetor,aux,0,aux-1);
        if(aux3==2)
            shellsort(vetor,aux,2);
    cout << "O vetor ordenado é: " << endl;
    for(int j=0;j<< vetor[j] << " ";
        }
    delete [] vetor;
}

Até a próxima!
😉

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s