Advertisement
Guest User

Quick_sort

a guest
Apr 1st, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void quick(int *A, int p, int r)
  5. {
  6. int q;
  7. if(p<r)
  8. {
  9. q = particao(A, p, r);
  10. quick(A, p, q-1);
  11. quick(A, q+1, r);
  12. }
  13. }
  14.  
  15. int particao(int * A, int p, int r)
  16. {
  17. int i,j;
  18. int pivo;
  19. pivo= A[r];
  20. i= p-1;
  21. for(j= p; j<r-1; j++)
  22. {
  23. if(A[j]<=pivo)
  24. {
  25. i= i+1;
  26. pivo =A[j];
  27. A[j]= A[i];
  28. A[i]= pivo;
  29. }
  30. }
  31. pivo= A[r];
  32. A[i+1]= pivo;
  33. return i++;
  34.  
  35. }
  36. int main()
  37. {
  38. int i,j,n,p,r;
  39. int *A;
  40. printf("Digite o tamanho da entrada:\n");
  41. scanf("%d",&n);
  42. A =(int*)malloc(sizeof(int)*n);
  43. printf("Digite os valores que voce quer:\n");
  44.  
  45. for(i=0; i<n; i++)
  46. {
  47. scanf("%d",&A[i]);
  48. }
  49. quick(A,p,r);
  50. for(j=p; j<r-1; j++)
  51. {
  52. printf("%d",A[r]);
  53. }
  54.  
  55. return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement