Pesquisar neste blog

04/08/2017

Ordenação Vetor em Linguagem C

#include <stdio.h>
#include <stdlib.h>
#define SIZE 5// tamanho do vetor

void troca(int X[], int i, int j){
int aux;
aux = X[i];
X[i] = X[j];
X[j] = aux;
}

int particao(int X[], int p, int r){
int pivo, i, j;
pivo = X[(p+r)/2];
i = p-1;
j = r +1;;
while(i < j){
do{
j = j -1;
}
while(X[j] > pivo);
do
{
i = i +1;
}
while(X[i] < pivo);
if(i < j){
troca(X, i, j);
}
}
return j;
}

void quicksort(int X[], int p, int r){
int q;
if(p < r){
q = particao(X, p, r);
quicksort(X, p, q);
quicksort(X, q+1, r);
}
}


int main (void){
int X[10];
int i;

for(i = 0; i <= SIZE; i++){
printf("Digite o numero da posicao [%d]: ",(i+1));
scanf("%d", &X[i]);
}

printf("\nOrdenando de forma crescente: \n");
quicksort(X, 0, SIZE);


for(i = 0; i <= SIZE; i++){
printf("%d ",X[i]);
}

printf("\n\n");
return EXIT_SUCCESS;
}

Nenhum comentário: