首页 > 其他分享 >2、栈和队列

2、栈和队列

时间:2022-12-06 23:03:02浏览次数:43  
标签:Deque 队列 双端 接口 Queue push

栈和队列是运算受限的线性表。

栈:只能后进来的元素先出去。

队列:只能先进来的元素先出去。


 

1、栈(Stack)

后进先出,可以使用数组和单链表实现。

入栈:push

出栈:pop

取出栈顶元素:peek


 

2、队列(Queue)

先进先出,可以使用循环数组和单链表实现

队尾,进来的一端:rear

队首,出去的一端:front

入队:enqueue

出队:dequeue

2.1 双端队列

指两端都可以入队和出队的队列。

若只允许一段出入,则等同于栈。


 

3、Java中的栈和队列

  栈:Stack类,它继承于Vector类,已不推荐使用。

  队列:Queue接口,它继承于Collection接口。

  双端队列:Deque接口,它继承于Queue接口,推荐用来实现栈操作。LinkedList实现了Deque接口。

使用双端队列实现栈操作:

    static void test03(){
        //创建一个栈
        Deque s = new LinkedList();
        //入栈
        s.push("111");
        s.push("222");
        s.push("333");
        while (!s.isEmpty()){
            //出栈
            System.out.println(s.pop());
        }
    }        

 

标签:Deque,队列,双端,接口,Queue,push
From: https://www.cnblogs.com/lurenjia-bky/p/16961688.html

相关文章

  • webflux延迟队列逻辑更改过程记录
    title:webflux延迟队列逻辑更改过程记录author:simonLeedate:2022/11/2210:26目录webflux延迟队列逻辑更改过程记录一、问题背景二、当前实现代码三、逻辑详解3......
  • 代码随想录——栈与队列
    用栈实现队列题目简单把pop()和peek()中可复用的部分提取出来classMyQueue{Stack<Integer>stackIn;Stack<Integer>stackOut;/**Initialize......
  • Java使用LinkedList模拟一个堆栈或者队列数据结构
    用Java模拟一个堆栈或者队列数据结构。首先得明白堆栈和队列的数据结构:堆栈:先进后出队列:先进先出LinkedList中刚好有addFirst()和addLast()方法。1.publicclassStac......
  • 一种有界队列(Bounded Buffer)的实现
    一、概述在有CPU和GPU参与的一种运算中,比如深度学习推理,CPU需要预处理数据,然后交给GPU处理,最后CPU对GPU的运算结果进行后处理。在整个过程中都是FIFO,即数据......
  • leetcode 1687. 从仓库到码头运输箱子 动态规划 + 单调队列
    你有一辆货运卡车,你需要用这一辆车把一些箱子从仓库运送到码头。这辆卡车每次运输有 箱子数目的限制 和总重量的限制 。给你一个箱子数组 boxes 和三个整数portsCo......
  • 单调队列学习笔记
    用处:滑动窗口维护区间最值核心思想:双端队列,队首放最大值/最小值的下标,1.清除不是更优的(队尾弹出)。2.清除过期的(队首弹出)。例题:https://www.luogu.com.cn/problem/P3088......
  • 三阶段:第13周 分布式消息队列-Kafka 没用
                   ......
  • 算法--数组、链表、栈、队列
    一、数组1、删除有序数组中的重复项(简单)题目地址:https://leetcode.cn/problems/remove-duplicates-from-sorted-array/给你一个升序排列的数组nums,请你原地删除重......
  • java常见的延迟队列实现方式
    参考如下:https://www.jianshu.com/p/977466020144/redission延迟队列的实现https://www.cnblogs.com/better-farther-world2099/articles/15216447.html......
  • [DPDK] 多队列同时从网卡接收数据
    [DPDK]多队列同时从网卡接收数据在DPDK中,如何让多个核/多个接收队列同时从一个网卡接收数据呢?其实很简单,在port_conf里开启一个mq_mode选项就行了。structrte_eth_c......