我就按小根堆降序排序给你改了改这段代码,从bug中我可以看出,你大概是基于大根堆的代码改的小根堆排序。bug 点主要出在这么几个位置: 1. 蜜汁 for 循环嵌套 while 循环,外层 i 自增 size 自减,删掉 for 循环即可 2. 蜜汁 early return,你大概是想写 break,或者以前是单独的辅助函数被你掺回了主要函数中 3. 一个潜在的 bug 点:异或 swap 很酷,但要注意 i 和 j 不能相等,否则就是 0 改好的代码如下,基于保留了原有代码的结构,还可以优化。