Você está na página 1de 2

#include<stdio.

h> //Chama (pr carrega) a funo Quick que far a ordenao //void Quick(int vetor[10], int inicio, int fim); /*Funo Quick, ela recebe os nmeros pela varivel vetor, declara como inicio a posio 0 e como fim a posio 9 do vetor*/ void Quick(int vetor[10], int inicio, int fim){ /*Declara as variveis: meio: o elemento mdio do vetor (do meio), . pivo: ir receber o valor da posio do meio do vetor. aux: a varivel temporria que far a troca dos valores. */ int pivo, aux, i, j, meio; //i: recebe o valor do inicio //j: recebe o valor do fim i = inicio; j = fim; //meio a soma do elemento inicial mais o elemento final divido por 2, no meio = (int) ((i + j) / 2);//((1 + 9)/2) = 5 pivo = vetor[meio];//pivo recebe o valor do meio do{//faa //Enquanto (posio[i] < que o valor do meio) posio inicial = inicial +1 while (vetor[i] < pivo) i = i + 1; //Enquanto (posio[i] < que o valor do meio) posio inicial = inicial +1 while (vetor[j] > pivo) j = j - 1; if(i <= j){ aux = vetor[i]; vetor[i] = vetor[j]; vetor[j] = aux; i = i + 1; j = j - 1; } }while(j > i); if(inicio < j) Quick(vetor, inicio, j); if(i < fim) Quick(vetor, i, fim); } //Incio do programa int main(){ //Nmeros do vetor desordenados int vetor[10] = {7, 9, 4, 3, 6, 1, 18, 2, 10, 5}; int i; printf("Vetor desordenado:\n"); //Lao que imprime o vetor desordenado for(i = 0; i < 10; i++){ printf("%d ", vetor[i]); }

printf("\n"); /*Chama a funo do quick sorte passando como parametro o vetor com os 10 nmeros a posio inicial (0) e posio final (9) do vetor*/ Quick(vetor, 0, 9); printf("Vetor ordenado:\n"); //Lao que imprime o vetor ordenado depois de passar pela funo Quick for(i = 0; i < 10; i++){ printf("%d ", vetor[i]); } printf("\n"); getch(); }

Você também pode gostar