bubbledown method

dynamic bubbledown(
  1. int i
)

Implementation

bubbledown(int i){
  int l=((lchild(i)?.count)??(intMaxValue));
  int r=((rchild(i)?.count)??(intMaxValue));
  while(map[array[i]]!.count>l||map[array[i]]!.count>r){
    if(r>l){
      swap(i, i*2);
      i=i*2;
    }
    else{
      swap(i, i*2+1);
      i=i*2+1;
    }
    l=((lchild(i)?.count)??(intMaxValue));
    r=((rchild(i)?.count)??(intMaxValue));
  }
}