C++使用默认堆结构并进行排序

知识点小结

在使用C++时,遇到需要排序的情况我们不能总是手写排序,有的时候我们会借助堆结构来进行。但是需要注意的是,C++默认的堆结构是大根堆,而且push进堆结构的数据一定是能够比较的。C++中的堆类型是放在头文件中的,调用大根堆的方法是priority_queue<数据类型> 名称。如果是无法默认比较的数据类型,就需要自定义比较器或者在结构体内部定义比较的方法。先来看一组用整型数据放入堆中的代码。首先是默认大根堆的,第二个是更改后变成小根堆的。

#include 
#include 
using namespace std;

void bheapsort(int *arr, int len)
{
  priority_queue bheap1 = *new priority_queue;
  for(int i=0; i, greater > sheap1 = *new priority_queue, greater >;
  for(int i=0; i

 

 

你可能感兴趣的:(C++)