fork download
  1. #include<iostream>
  2. #include<vector>
  3. using namespace std;
  4.  
  5. class Heap{
  6. vector<int>v;
  7. bool minHeap;
  8.  
  9. bool compare(int a, int b){
  10. if(minHeap){
  11. return a<b;
  12. }
  13. else{
  14. return a>b;
  15. }
  16. }
  17.  
  18. void heapify(int idx){
  19. int left = 2*idx;
  20. int right = left+1;
  21.  
  22. int min_idx = idx;
  23. int last = v.size()-1;
  24. if(left <= last && compare(v[left],v[idx])){
  25. min_idx = left;
  26. }
  27. if(right <= last && compare(v[right],v[idx])){
  28. min_idx = right;
  29. }
  30.  
  31. if(min_idx!=idx){
  32. swap(v[min_idx],v[idx]);
  33. heapify(min_idx);
  34. }
  35. }
  36. public:
  37. Heap(int default_size = 10 , bool type = true){
  38. v.reserve(default_size);
  39. v.push_back(-1);
  40. minHeap = type;
  41. }
  42.  
  43. void push(int d){
  44. v.push_back(d);
  45. int idx = v.size()-1;
  46. int parent = idx/2;
  47. while(idx>1 && compare(v[idx],v[parent])){
  48. swap(v[idx],v[parent]);
  49. idx = parent;
  50. parent = parent/2;
  51. }
  52. }
  53.  
  54. int top(){
  55. return v[1];
  56. }
  57.  
  58. void pop(){
  59. int last = v.size()-1;
  60. swap(v[1],v[last]);
  61. v.pop_back();
  62. heapify(1);
  63. }
  64.  
  65. bool empty(){
  66. return v.size()==1;
  67. }
  68. };
  69. int main(){
  70. Heap h;
  71. int n;
  72. cin>>n;
  73. for(int i=0;i<n;i++){
  74. int no;
  75. cin>>no;
  76. h.push(no);
  77. }
  78. //remove one by one
  79. while(!h.empty()){
  80. cout<<h.top()<<" ";
  81. h.pop();
  82. }
  83. return 0;}
  84.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:1: error: illegal character: '#'
#include<iostream>
^
Main.java:1: error: class, interface, or enum expected
#include<iostream>
        ^
Main.java:2: error: illegal character: '#'
#include<vector>
^
Main.java:36: error: illegal start of type
public:
      ^
Main.java:37: error: ',', ')', or '[' expected
    Heap(int default_size = 10 , bool type = true){
                         ^
Main.java:69: error: class, interface, or enum expected
int main(){
^
Main.java:71: error: class, interface, or enum expected
    int n;
    ^
Main.java:72: error: class, interface, or enum expected
    cin>>n;
    ^
Main.java:73: error: class, interface, or enum expected
    for(int i=0;i<n;i++){
    ^
Main.java:73: error: class, interface, or enum expected
    for(int i=0;i<n;i++){
                ^
Main.java:73: error: class, interface, or enum expected
    for(int i=0;i<n;i++){
                    ^
Main.java:75: error: class, interface, or enum expected
        cin>>no;
        ^
Main.java:76: error: class, interface, or enum expected
        h.push(no);
        ^
Main.java:77: error: class, interface, or enum expected
    }
    ^
Main.java:81: error: class, interface, or enum expected
        h.pop();
        ^
Main.java:82: error: class, interface, or enum expected
    }
    ^
Main.java:83: error: class, interface, or enum expected
return 0;}
         ^
17 errors
stdout
Standard output is empty