///* // * tree04.cpp // * // * Created on: Apr 13, 2024 // * Author: 28032 // */ //#include //#include // //using namespace std; // //class heap //{ //private: // int n; // int *elem; // void shiftdown(int pos) // { // if (pos >= n) return; // // int maxIndex = pos; // int leftIndex = 2 * pos + 1; // int rightIndex = 2 * pos + 2; // // if (leftIndex < n && elem[leftIndex] > elem[maxIndex]) // maxIndex = leftIndex; // // if (rightIndex < n && elem[rightIndex] > elem[maxIndex]) // maxIndex = rightIndex; // // if (maxIndex != pos) // { // int t = elem[maxIndex]; // elem[maxIndex] = elem[pos]; // elem[pos] = t; // shiftdown(maxIndex); // } // } //public: // heap(){} // heap(int m) // { // n=m; // elem=new int[n]; // } // ~heap() // { // delete[] elem; // } // void initial() // { // for(int i=0; i>elem[i]; // } // // void out() // { // for(int i=0; i=n/2) && pos=0; i--) // { // shiftdown(i); // } // } // // void insertElem(int x) // { // int* elemt = new int[n+1]; // for(int i = 0;i < n;i++) // elemt[i] = elem[i]; // // elemt[n] = x; // delete elem; // elem = elemt; // n++; // // arrange(); // } //}; // //int main() //{ // int m; // cin>>m; // heap *ex=new heap(m); // ex->initial(); // ex->arrange(); // ex->out(); // int insData; // cin>>insData; // ex->insertElem(insData); // ex->out(); // return 0; //} // // //