fork download
  1. #include <stdio.h>
  2. int arr[100];
  3.  
  4. void insert_in_heap(int e, int n){
  5. int temp;
  6. arr[n]=e;
  7. int parent;
  8. while(n>0){
  9. parent=(n-1)/2;
  10. if(arr[parent]<arr[n]){
  11. temp=arr[parent];
  12. arr[parent]=arr[n];
  13. arr[n]=temp;
  14. n=parent;
  15. }else
  16. break;
  17. }
  18.  
  19.  
  20. }
  21.  
  22. int main() {
  23.  
  24. int op,n;
  25. scanf("%d %d",&op, &n);
  26. // printf("%d,%d", op, n);
  27.  
  28. int i,j,k, temp, parent,lc,rc;
  29. for(i=0;i<n;i++){
  30. scanf("%d",&arr[i]);
  31.  
  32. //printf("%d \t", arr[i]);
  33. }
  34.  
  35. parent=0;
  36. arr[parent]=arr[n-1];
  37. while(parent<n){
  38. lc= 2*parent+1;
  39. rc= 2*parent+2;
  40. if(lc>=n){
  41. break;
  42. }
  43. if(rc>=n){
  44. break;
  45. }
  46. if(arr[lc]> arr[rc]){
  47. temp= arr[parent];
  48. arr[parent]= arr[lc];
  49. arr[lc]=temp;
  50. parent= lc;
  51. }else{
  52. temp= arr[parent];
  53. arr[parent]= arr[rc];
  54. arr[rc]=temp;
  55. parent=rc;
  56. }
  57.  
  58. }
  59. for(i=0; i<n-1; i++){
  60. printf(" %d ",arr[i]);
  61. }
  62.  
  63.  
  64.  
  65.  
  66. // int e;
  67. // scanf("%d",&e);
  68.  
  69. // insert_in_heap(e,n); ///function calll
  70.  
  71.  
  72.  
  73. }
Success #stdin #stdout 0.01s 5288KB
stdin
2 6
50 30 40 5 4 2

stdout
 40  30  2  5  4