Advertisement
Guest User

Untitled

a guest
May 24th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <math.h>
  4. #include <stdlib.h>
  5.  
  6. void quicksort(int n, int vet[n], int f, int l){
  7.  
  8. int pivot = vet[f];
  9. int esq = 0, dir = 0,i;
  10.  
  11.  
  12. if(n > 1){
  13. for(i=0; i<n ;i++)
  14. {
  15. if(pivot < vet[i])
  16. {
  17. dir++;
  18. }
  19. else if(pivot > vet[i])
  20. esq++;
  21. }
  22.  
  23. int vetesq[esq], vetdir[dir];
  24. int e=-1, d=-1;
  25.  
  26. for(i=1; i<n ; i++)
  27. {
  28. if(pivot > vet[i])
  29. {
  30. e++;
  31. vetesq[e] = vet[i];
  32. }
  33. else if(pivot < vet[i])
  34. {
  35. d++;
  36. vetdir[d] = vet[i];
  37. }
  38. }
  39.  
  40. if(e >= 0)
  41. quicksort(esq,vetesq,f,e);
  42.  
  43. printf("%d ", pivot);
  44.  
  45. if(d >= 0)
  46. quicksort(dir,vetdir,f,d);
  47. return;
  48. }
  49. else
  50. printf(" %d", vet[f]);
  51. }
  52.  
  53. int main(){
  54.  
  55. int n;
  56.  
  57. scanf("%d", &n);
  58.  
  59. int vet[n],i;
  60.  
  61. for(i=0; i<n; i++)
  62. {
  63. scanf("%d", &vet[i]);
  64. }
  65.  
  66. quicksort(n,vet,0,n-1);
  67.  
  68.  
  69.  
  70. return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement