C++ STL 常用数据结构

本文详细介绍了C++ STL中的优先队列priority_queue,包括其插入操作的时间复杂度、如何包含queue头文件、如何声明和使用priority_queue。无论是对基本数据类型还是自定义结构体,priority_queue都能进行排序。文中还提供了测试代码示例,展示了如何通过运算符重载控制数据的排序顺序。
摘要由CSDN通过智能技术生成

1.priority_queue(优先队列):

  • 概述:C++ STL中的优先队列是优先队列的一种经典实现,插入元素的时间复杂度大约为O(nlogn)
  • 首先,需要包括queue头文件,也就是这样:
#include<queue>
  • 之后,我们先声明打算放入优先队列的变量或结构体,比如:
struct Node{
    int value;
    bool operator <(const Node& anotherNode)const{//运算符重载
        return value<anotherNode.value;
    }
};
int a=1;
  • C++ STL中的priority_queue可以对各种类型的数据进行排序(基本数据类型或具有运算符重载的结构体).如果是对结构体进行排序,我们就可以通过修改在运算符重载中return的值来修改数据在priority_queue中的排列顺序(降序或升序等)(具体来说(在普通的简单情况下),如果在运算符重载处使用正常的<,在priority_queue中的数据就会按降序排列(也就是从大到小),反之
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值