changgyhub / leetcode_101

LeetCode 101:力扣刷题指南
8.57k stars 1.16k forks source link

11.5优先队列勘误 #73

Closed PhoenixChen98 closed 2 years ago

PhoenixChen98 commented 2 years ago

首先非常感谢笔记的整理!对我帮助很大! 在书中11.5优先队列一节,用数组表示堆时,应该将0号位空着,即top函数应返回heap[1],pop时也应该将末尾元素放入heap[1],然后sink(1) 您可以运行下您这一节中的代码测试一下,我这边的测试结果如下:

q.push(2);
q.push(3);
cout << q.top() << endl;//输出2
q.push(1);
cout << q.top() << endl;//输出2
q.push(4);
cout << q.top() << endl;//输出2
q.pop();//程序崩溃
cout << q.top() << endl;

此外,top函数的返回类型应该是int,而非void

changgyhub commented 2 years ago

感谢!下个版本即更正。