Algoritmo de ordenação Quick Sort
Publicado por João Cristiano Monteiro da Silva (última atualização em 30/11/2010)
[ Hits: 10.308 ]
Algoritmo que implementa a ordenação quick sort, aplicando o conceito de template (permite reutilização de código) e partição, conceito amplamente abordado para explicar esse tipo de ordenação.
#include <iostream> #include <stdlib.h> using namespace std; template <typename T> void troca(T *a, T *b) { T aux = *a; *a = *b; *b = aux; } template <typename T> void quicksort(T aux[], int inicio, int fim) { if (fim > inicio) { int retorno = particao(aux, inicio, fim); quicksort(aux, inicio, retorno - 1); quicksort(aux, retorno + 1, fim); } } template <typename T> int particao(T aux[], int inicio, int fim) { int temp = inicio; while (true) { while (aux[inicio] <= aux[temp]) inicio++; while (aux[fim] > aux[temp]) fim--; if (fim < inicio) { troca(&aux[temp], &aux[fim]); return (fim); } troca(&aux[inicio], &aux[fim]); } } int main(int argc, char **argv) { //int vetor[8] = {25, 32, 12, -8, 9, 220, 5, 1}; //double vetor[8] = {25.56, 32.12, 12.89, -8.54, 9.08, 220.54, 5.48, 1.56}; char vetor[8] = {'h', 'a', 'd', 'e', 'f', 'g', 'b', 'c'}; cout << "Vetor original: " << endl; for (int i = 0; i < 8; i++) { cout << "Posicao " << i << " = " << vetor[i] << endl; } cout << endl << endl; cout << "Vetor ordenado: " << endl; quicksort(vetor, 0, 7); for (int i = 0; i < 8; i++) { cout << "Posicao " << i << " = " << vetor[i] << endl; } return (EXIT_SUCCESS); }
Google Code Jam 2010 - Africa Classification Round
Dangerous Tux Game com gráficos
Jogo Super Mario Bros 3 (com gráficos)
1o. joguinho Labirinto (com graficos).c
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
O 1º artigo a gente nunca esquece (1)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (9)
Problema ao atualizar archlinux nvidia [RESOLVIDO] (3)