首页 > 其他分享 >数据结构-优先队列与栈

数据结构-优先队列与栈

时间:2023-01-19 09:44:40浏览次数:54  
标签:返回 优先 less 队列 元素 数据结构

数据结构-优先队列与栈

今天不多BB,直接讲2个数据结构!

优先队列(priority queue)

优先队列没什么好说的,和队列相似,同样遵循FIFO,但优先队列中的数据按升序或者降序排列,定义如下:

#include <bits/stdc++.h>
#include <queue>                    // 队列头文件中有优先队列

priority_queue <typename, vector<typename>, less/greater<typename> > name;

具体解释一下,typename代表队列中存储的元素类型,less/greater代表升序/降序

对于优先队列,他的操作如下:

priority_queue <int, vector<int>, less<int> > s;
s.pop()                             // 弹出队列顶部的元素
s.push(x)                           // 在队列中弹入x
s.size()                            // int类型,返回s的大小
s.empty()                           // bool类型,如果s为空返回true,否则返回false
s.top()                             // 返回s的顶部元素

栈(stack)

栈也是是一种特殊的线性表,他的性质只允许元素从最后入,从最后出,所以他也满足FILO(First In Last Out)

性质,也就是先进后出。

PS:没有优先栈,只有单调栈,这是个很复杂的东西,可以去看这里的题解

我们也不是用函数来模拟了,直接讲:

#include <stack>                    // 栈的头文件
stack <typename> s;

s.pop()                             // 弹出栈顶部的元素
s.push(x)                           // 在栈中弹入x
s.size()                            // int类型,返回s的大小
s.empty()                           // bool类型,如果s为空返回true,否则返回false
s.top()                             // 返回s的顶部元素

以上就是本篇的全部内容啦!希望能给你带来新的认知!以上!

标签:返回,优先,less,队列,元素,数据结构
From: https://www.cnblogs.com/Earnoise/p/stl-priority-queue-and-stack.html

相关文章

  • 【数据结构】栈
    栈是常见的数据结构之一,我将在这篇博客中简要介绍栈、栈的使用、单调栈、栈和DFS、栈和递归。栈栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删......
  • 浅谈Redis底层数据结构(sdshdr-redisObject)
    最近看了点Redis底层的源码分析,特作此记录前提共识:Redis是一个默认为16个数据库的key-value内存数据库Redis底层是由C语言实现文章目录​​C语言源码流程​​​​1、server.......
  • 学习笔记——定义切面优先级 ;Spring中的JdbcTemplate;JdbcTemplate的常用API
    2023-01-18一、定义切面优先级  1、语法:@Order(value=index)①index是int类型,默认值是int可存储的最大值②数值越小,优先级越高二、Spring中的JdbcTemplate1、JdbcT......
  • 顺序队列
    #include<iostream>usingnamespacestd;#defineOK1#defineERROR0#defineOVERFLOW-2typedefintStatus;typedefstruct{......
  • 链队列
    include<iostream>usingnamespacestd;#defineOK1#defineERROR0typedefintElemType;typedefstructQNode{ ......
  • TCP 队列
    一、TCP队列1、synsqueue:半连接队列TCP三次握手(参考:TCP建立连接之三次握手),第一步,服务端接收到客户端发送的syn消息后,将连接信息放入synsqueue,此时,双方连接尚未建......
  • 深度优先搜索dfs解决排列问题
    八皇后问题#include<iostream>#include<vector>#include<math.h>usingnamespacestd;intN;vector<int>res;voiddfs(intn){if(n==N)//一种情况结束输出......
  • 阿里云对话 Tapdata:「开发者优先」正在影响商业化软件的开源选择
    在刚刚过去的2022年,Tapdata带着开源项目PDK(PluginDevelopmentKit)及TapdataCommunity和大家见面,兑现了我们对自己以及开发者们的开源承诺,同时与阿里云等生态伙伴联合......
  • 数据结构-队列
    数据结构-队列队列是一种特殊的线性表,他的性质只允许元素从最后入,从最前出,所以他也满足FIFO(FirstInFirstOut)性质,也就是先进先出。我们可以先试着使用函数在C++中定......
  • 数据结构 玩转数据结构 9-5 Leetcode上线段树相关的问题
    0课程地址https://coding.imooc.com/lesson/207.html#mid=13846 1重点关注1.1线段树区间查询见3.1  2课程内容  3......