STL Heap使用方法

本文介绍了STL中heap的使用,包括最大堆的默认设置及如何创建最小堆。主要操作有make_heap、push_heap、pop_heap和sort_heap,它们分别用于构建堆、向堆中添加元素、移除堆顶元素和堆排序。这些函数都在<algorithm>头文件中定义。
摘要由CSDN通过智能技术生成

概述

STL中的heap并不是container,默认是最大堆,如果需要最小堆,则需要添加参数greater<type>()
常用堆操作:make_heap(), pop_heap(), push_heap(), sort_heap(), 头文件<algorithm>
1.make_heap(v.begin(), v.end())使序列变成堆
2.push_heap(v.begin(),v.end())假设[first, last-1)有序,新添加元素进堆,需要配合push_back()
3.pop_heap(v.begin(),v.end()) 并不是真正的弹出元素,而是将first、last调换位置,将[first, last-1)做成,需要配合pop_back()
4.sort_heap() 对container进行堆排序。

// range heap example
#include <iostream>     // std::cout
#include <algorithm>    // std::make_heap, std::pop_heap, std::push_heap, std::sort_heap
#include <vector>       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值