Advertisement
Guest User

heap_sort_next

a guest
Jul 17th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int arr[20],x,i,j,n;
  4. int input(void)
  5. {
  6. printf("Enter number of data:");
  7. scanf("%d",&n);
  8. printf("Enter Data:\n");
  9. for(i=1; i<=n; i++)
  10. scanf("%d",&arr[i]);
  11. x=n;
  12. return 0;
  13. }
  14. int swap(int& a, int& b)
  15. {
  16. int temp;
  17. temp=a;
  18. a=b;
  19. b=temp;
  20. }
  21. int heapify(void)
  22. {
  23. printf("Righttttttttttttttttttttttttttt!!!!!!!! heapify!!!!!!!!!!!!!!!!!!!!\n");
  24. for(i=x/2; i>=1; i--)
  25. {
  26. if(arr[i]<arr[i*2])
  27. if((arr[i*2]<arr[(i*2)+1]) && (i*2+1)<=x)
  28. swap(arr[(i*2)+1],arr[i]);
  29. else
  30. swap(arr[i],arr[i*2]);
  31. else if((arr[i]<arr[(i*2)+1]) && (i*2+1)<=x)
  32. swap(arr[(i*2)+1], arr[i]);
  33.  
  34. }
  35. }
  36.  
  37. int heap_sort(void)
  38. {
  39. printf("Righttttttttttttttttttttttttttt!!!!!!!! heap sort!!!!!!!!!!!!!!!!!!!!\n");
  40. x=n;
  41. for(x; x>1; x--)
  42. {
  43. heapify();
  44. swap(arr[1],arr[x]);
  45.  
  46. }
  47. }
  48. int print_arr(void)
  49. {
  50. for(i=1; i<=n; i++)
  51. printf("%d ",arr[i]);
  52. printf("\n");
  53. }
  54.  
  55. int main()
  56. {
  57. for(;;)
  58. {
  59. input();
  60. heap_sort();
  61. print_arr();
  62. }
  63. return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement