首页 > 编程语言 >算法训练营第10天|理论基础 232.用栈实现队列 225. 用队列实现栈

算法训练营第10天|理论基础 232.用栈实现队列 225. 用队列实现栈

时间:2024-06-05 11:34:09浏览次数:15  
标签:10 LinkedList 队列 pop 实现 用栈 push Stack

理论基础

Java中实现栈有以下两种方式:

  • stack类
  • LinkedList实现(继承了Deque接口)
(1) Stack实现

Stack底层是使用Vector的,而Vector支持线程同步,所以整体性能相对较低,如果没有多线程的场景,不建议使用Stack。

(2)LinkedList实现

LinkedList实现了List,Deque(实现了Queue接口)的接口,底层是双向链表实现的,所以不仅可以表示栈,也可以表示队列。

队列

(1)使用LinkedList实现队列

底层是链表

(2)使用ArrayDeque实现队列

底层是数组实现

232.用栈实现队列

一个栈管理压入,一个栈管理弹出。

分清this.pop和stackout.pop的区别。this.push和stackout.push的区别。

public int peek() {
    int result=this.pop();
    stackOut.push(result);
    return result;
}

225. 用队列实现栈

1.队列是先进先出的规则,把一个队列中的数据导入另一个队列中,数据的顺序并没有变,并没有变成先进后出的顺序。如果用两个队列操作,另一个队列只是当备份的角色。

2.获取栈顶元素相当于构建的栈弹出再压入。

标签:10,LinkedList,队列,pop,实现,用栈,push,Stack
From: https://blog.csdn.net/bless_______/article/details/139423711

相关文章

  • 【第三节】C/C++数据结构之栈与队列
    目录一、数据结构-栈1.1栈的定义1.2栈的ADT(AbstractDataType)1.3栈的顺序存储结构及实现二、数据结构-队列2.1队列的定义2.2队列的ADT2.3队列的顺序存储结构与实现2.4优先队列一、数据结构-栈1.1栈的定义栈(Stack)可以看成是一种特殊的线性表。限......
  • 一键导入excel电子表格到mysql,一次导入100个100万行的电子表,合并导入到一张数据库表里
       适用场景:从数据库中同一张大数据表导出的N个excel表格,他们的结构是相同的。那你说我不需要这个功能,我分表导入数据库,然后我写sql语句合并在一起就完事了。我以前也一直是这样处理的。几个表或者十多个表合并成一个表,我们写sql,忍忍也就过去了。但是上百个表合并成一个表......
  • 力扣-1049. 最后一块石头的重量 II
    1.题目题目地址(1049.最后一块石头的重量II-力扣(LeetCode))https://leetcode.cn/problems/last-stone-weight-ii/题目描述有一堆石头,用整数数组 stones表示。其中 stones[i]表示第i块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分......
  • (大全集)大规模数据处理入门与实战(套装全10册 Kafka权威指南 Flink基础教程 数据科学
    书:pan.baidu.com/s/1YNu61Jk91VeISAX2F7-64g提取码:14pd是一本涉及大规模数据处理的入门级别的书籍,它通常旨在向读者介绍大规模数据处理的基本概念、技术、工具和实际应用。一些笔记:大数据概述: 介绍大数据的定义、特征和发展趋势。分布式系统: 讨论大规模数据处理的基础,包括......
  • 使用自定义数据训练 YOLOv10
    节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学。针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。合集:持续火爆!!!《AIGC面试宝典》已圈粉无......
  • C#WPF数字大屏项目实战10--不良指标分页
    1、区域划分2、区域布局 3、视图模型  4、控件绑定5、运行效果 走过路过,不要错过,欢迎点赞,收藏,转载,复制,抄袭,留言,动动你的金手指,财务自由......
  • 使用yolov10源码对图片进行目标检测的步骤讲解(windows环境、PyCharm软件、预测阶段)
            本文只讲解yolov10的预测阶段,即如何使用代码调用yolov10模型,对图片进行目标检测,并不涉及训练、验证等阶段。步骤:一、下载yolov10源码        1、打开源码地址。yolov10源码链接:https://github.com/THU-MIG/yolov10    注意:如果网页加载不......
  • 实验10 数据库索引创建与管理操作
    1、使用MySQL Navicat图形工具创建、管理索引在JXGL数据库中进行以下操作:创建索引。为students表的sname字段创建索引ix_sname。CREATEINDEXix_snameonstudents(sname)在students表的class和sdept字段上创建名为ix_cs的组合索引。CREATEINDEXix_csonstud......
  • 杰理语音芯片AC1042A,变声喇叭玩具方案—云信通讯
    变声喇叭玩具内置多种声音效果,例如机器人声、怪兽声、动物声以及各种搞笑声,让孩子能够在玩耍过程中体验不同的声音变化。有一些变声喇叭还可以模拟名人声音,让孩子们仿佛变身成为自己心目中的英雄或者明星。无论是自由的想象力游戏还是模仿他人的声音,变声喇叭玩具都能让孩子乐在......
  • 学习笔记482—手把手教你如何用mac访问win10共享文件
    这个方法巨简单,只需要两台电脑都用同一个网络,我的两台电脑都是连接wifi使用的,跟着图文一步步来操作哦操作步骤:......