门户网站 cms,做网站基础教程,外贸公司有哪些类型,asp.net 怎么做网站内置类型就是 C 提供的数据类型#xff0c;⽐如 int 、 double 、 long long 等。以 int 类型为例#xff0c;分 别创建⼤根堆和⼩根堆。 这种写法意思是#xff0c;我要告诉这个优先级队列要建一个什么样的堆#xff0c;第一个int是要存什么数据类型#xff0c;vecto… 内置类型就是 C 提供的数据类型⽐如 int 、 double 、 long long 等。以 int 类型为例分 别创建⼤根堆和⼩根堆。 这种写法意思是我要告诉这个优先级队列要建一个什么样的堆第一个int是要存什么数据类型vectorint这个优先级队列要用什么类型来实现相当于这个堆是要用vector实现的lessint是比较方式决定了最终实现的是大根堆还是小根堆less是小于的意思c提供的小于的比较方式比如里传的int就会拿int作比较是小于的话就返回true否则返回false因此我们可以把它理解成小于的比较方式大于的比较方式是greater创建大根堆用lessint小根堆用greaterint //大根堆
priority_queueint, vectorint, lessint heap2;
//小根堆
priority_queueint, vectorint, greaterint heap3; 记忆方式 大根堆用小于 把小的比下来小根堆用大于 把大的比下来 代码实现 #include iostream
#include queue
using namespace std;int a[10] { 1, 41, 23, 10, 11, 2, -1, 99, 14, 0 };//内置类型
void test1()
{//大根堆priority_queueint heap1;//大根堆// priority_queue数据类型, 存储结构, 比较方式priority_queueint, vectorint, lessint heap2;//小根堆priority_queueint, vectorint, greaterint heap3;//记忆方式//大根堆用小于 把小的比下来//小根堆用大于 把大的比下来for (int i 0; i 10; i){heap2.push(a[i]);heap3.push(a[i]);}cout 大根堆;while (heap2.size()){cout heap2.top() ;heap2.pop();}cout endl;cout 小根堆;while (heap3.size()){cout heap3.top() ;heap3.pop();}cout endl;
}int main()
{test1();return 0;
}