中级
堆排序
未完成
中级参考
代码结构已给出,请填写 ____ 处
def heap_sort(____):
def heapify(____):
largest = i
left = ____ * i + ____
right = ____ * i + ____
if left < n and arr[left] > arr[largest]:
largest = left
if right < n and arr[right] > arr[largest]:
largest = right
if largest != i:
arr[i], arr[largest] = arr[largest], arr[i]
heapify(____)
arr = arr.copy()
n = len(____)
for i in range(____):
heapify(____)
for i in range(____):
arr[____], arr[i] = arr[i], arr[____]
heapify(____)
return arr
示例
输入
print(heap_sort([12, 11, 13, 5, 6, 7]))
期望输出
[5, 6, 7, 11, 12, 13]
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199