Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void troca(int *x, int *y){
- int aux = *x;
- *x = *y;
- *y = aux;
- }
- int particao(int *A, int esq, int dir){
- int pivo = A[dir];
- int j, i = esq;
- for(j = esq; j < dir; j++)
- if(A[j] <= pivo){
- troca(&A[i], &A[j]);
- i++;
- }
- troca(&A[i], &A[dir]);
- return i;
- }
- void quick_sort(int *A, int esq, int dir){
- if(esq < dir){
- int pos = particao(A, esq, dir);
- quick_sort(A, esq, pos - 1);
- quick_sort(A, pos + 1, dir);
- }
- }
- int main(){
- int i, A[5] = {4, 7, 1, 5, 3};
- for(i = 0; i < 5; i++)
- printf("%d ", A[i]);
- printf("\n");
- quick_sort(A, 0, 4);
- for(i = 0; i < 5; i++)
- printf("%d ", A[i]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement