@[huyouheng](/user/765280) $11$行。
```cpp
heap[size++]=x;
```
改为
```cpp
heap[++size]=x;
```
两者还是有区别的。原来的那个是先将 $x$ 赋值给 heap[size],再自加。也就是说 $size$ 指向的是最后一个的下一个。
改了之后是先将 $size$ 自加,然后再赋值给 $heap$ ,此时 $size$ 指向的是最后一个。
按照你其他代码的写法, $size$ 应该指向的是最后一个。改过来就AC了。
by Adelaide_Black @ 2023-01-10 12:11:24
谢谢AC了。
by huyouheng @ 2023-01-11 09:20:41