轻松的编程学习
首页
题库
学习路径
在线商城
能力地图
下载应用
登录 / 注册
菜单
连弹两次第二次弹出谁
👁️ 0 人浏览
💬 0 人评论
❤️ 添加收藏
同一个
pop_top
。连着弹两次,输出第二次弹出来的值。
(本题用
g++ -std=c++17 -O0
编译。)
提交你的答案
请登录后提交答案。
去登录
← 写弹出
默认的优先队列谁在顶上 →
更多题目
改成"你好,有词"
输出"100 分"
把年龄改成 20
输出学习天数 30
修复:给文字加引号
修复:补上右括号
代码编辑器
语言:
python3
c11
cpp17
Ctrl
+
Enter
运行
👩🏫 AI
▶ 运行代码
重置代码
打印代码
#include <algorithm> #include <iostream> #include <string> #include <utility> #include <vector> using namespace std; void sift_down(vector<int>& h, int i, int n) { while (true) { int big = i; int l = 2 * i + 1; int r = 2 * i + 2; if (l < n && h[l] > h[big]) big = l; if (r < n && h[r] > h[big]) big = r; if (big == i) return; swap(h[i], h[big]); i = big; } } int pop_top(vector<int>& h) { // TODO: 记下堆顶,取出末尾那个(pop_back) // TODO: 堆还没空就把它放到顶上并下沉,最后返回原来的堆顶 return -1; } int main() { vector<int> h = {24, 23, 15, 13, 17}; pop_top(h); cout << pop_top(h) << endl; }
本次输入:
输出:
👩🏫
AI
请登录后使用 AI 老师
×
登录后可获得解题思路、提示与错误分析。
去登录
关闭
🎉
恭喜你,回答正确!
系统判定:正确
我知道了
💬 题目评论
提交
全部评论
全部评论