void siftDown(int i,int val) {
while (i < size / 2) {
int child = 2 * i + 1;
if(child+1<size&&comp(que[child+1],que[child]) ){
child=child+1;
}
else {
}
if (comp(que[child], val)) {
que[i] = que[child];
i = child;
}else{
break;
}
}
que[i] = val;return;
}
void siftDown(int i,int val) {
while (i < size / 2) {
int child = 2 * i + 1;
if(child+1<size&&comp(que[child+1],que[child]) ){
child=child+1;
}
else {
}
if (comp(que[child], val)) {
que[i] = que[child];
i = child;
}else{
que[i] = val;
break;
}
}
}