Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void quick(int *A, int p, int r)
- {
- int q;
- if(p<r)
- {
- q = particao(A, p, r);
- quick(A, p, q-1);
- quick(A, q+1, r);
- }
- }
- int particao(int * A, int p, int r)
- {
- int i,j;
- int pivo;
- pivo= A[r];
- i= p-1;
- for(j= p; j<r-1; j++)
- {
- if(A[j]<=pivo)
- {
- i= i+1;
- pivo =A[j];
- A[j]= A[i];
- A[i]= pivo;
- }
- }
- pivo= A[r];
- A[i+1]= pivo;
- return i++;
- }
- int main()
- {
- int i,j,n,p,r;
- int *A;
- printf("Digite o tamanho da entrada:\n");
- scanf("%d",&n);
- A =(int*)malloc(sizeof(int)*n);
- printf("Digite os valores que voce quer:\n");
- for(i=0; i<n; i++)
- {
- scanf("%d",&A[i]);
- }
- quick(A,p,r);
- for(j=p; j<r-1; j++)
- {
- printf("%d",A[r]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement