代码编织梦想

232.用栈实现队列

import java.util.Stack;

public class day10_232_用栈实现队列 {
    public static void main(String[] args) {
        
    }
    //题目要求的是两个栈实现队列的功能
    Stack<Integer> staint;
    Stack<Integer> staout;//定义好两个栈
    public day10_232_用栈实现队列(){
        staint=new Stack<>();
        staout=new Stack<>();
        //这里是初始化两个队列
    }
    public void push(int x){
        staint.push(x);
        //就是把x直接push到int 的末尾
    }
    public int pop(){
        if (staout.isEmpty()) {
            while (!staint.isEmpty()) {
                staout.push(staint.pop());
                
            }
            
        }
        
        return staout.pop();

    }
    //这里两个栈是共纯的,拼一起还是一个玩着呢个栈
    public int peek(){
        if (staout.isEmpty()) {
            while (!staint.isEmpty()) {
                staout.push(staint.pop());
                
            }
            
        }
        
        return staout.peek();

    }
    public boolean empty(){
        return(staint.isEmpty()&&staout.isEmpty());
    }
    

    

    
}

就是一个比较级基础的用栈试下队列,原理很简单,一个队列就相当于两个栈头对头的合在一起,想取第一个元素的时候把元素移动到后面的那个栈就行了。

225用队列实现栈

import java.util.ArrayDeque;
import java.util.Deque;

public class day10_225_用队列实现栈 {
    Deque<Integer> que1;
    public day10_225_用队列实现栈(){
        que1=new ArrayDeque<>();

    }
    public void push(int x){
        que1.addLast(x);
    }
    public int pop(){
        return(que1.pollLast());
    }
    public int top() {
        return que1.peekLast();
    }
    public boolean empty() {
        return que1.isEmpty();
    }

    
}

pop操作自己直接用了deque的polllast,

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_47247047/article/details/139349888

【rocketmq】rocketmq应用难点-爱代码爱编程

🎯 导读:本文探讨了RocketMQ中消息重复消费的问题及其解决方案,尤其是在CLUSTERING模式下的扩容影响。文章分析了重复消费的原因,如广播模式、负载均衡模式下的多consumerGroup消费、消费者组内的动

【hot100-爱代码爱编程

记忆中,两个指针合并即可。  建立哨兵节点dum /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int

javascript arraybuffer的读写与类型转换-爱代码爱编程

一、ArrayBuffer与视图 所有视图的基本单位是ArrayBuffer, ArrayBuffer开辟一块内存空间,以字节为开辟单位,其中只存储二进制格式的数据. ArrayBuffer不可直接读写, 必须通过视图(比

java内存布局-爱代码爱编程

内存对齐 Java内存对齐(Memory Alignment)是一种通过填充(padding)字节来确保内存中的数据按特定边界对齐的技术,目的是提高程序的内存访问效率。内存对齐的核心思想是在访问内存时,CPU可以更高效地读

javascript set基础与实战应用-爱代码爱编程

在JavaScript中,Set是一种非常有用的数据结构,它提供了一种存储唯一值的方式。与数组不同,Set中的每个值都是唯一的,这意味着集合中不会有重复的元素。本文将详细介绍Set的基本用法、特性以及高级操作,帮助你全面掌握

英语词汇小程序小程序|英语词汇小程序系统|基于java的四六级词汇小程序设计与实现(源码+数据库+文档)-爱代码爱编程

英语词汇小程序 目录 基于java的四六级词汇小程序设计与实现 一、前言 二、系统功能设计  三、系统实现  四、数据库设计 1、实体ER图 五、核心代码  六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创

古典舞在线交流:springboot平台实现与优化-爱代码爱编程

第一章 绪论 1.1研究背景 在当今的社会,可以说是信息技术的发展时代,在社会的方方面面无不涉及到各种信息的处理。信息是人们对客观世界的具体描述,是人们进行交流与联系的重要途径。人类社会就处在一个对信息进行有效合理的加工中。

jdk1.0主要特性-爱代码爱编程

JDK 1.0,也被称为Java 1,是Java编程语言的第一个正式版本,由Sun Microsystems公司在1996年发布。JDK 1.0的发布标志着Java作为一种编程语言和平台的正式诞生,它带来了许多创新的概念和特

python并发编程(1)——python并发编程的几种实现方式-爱代码爱编程

更多精彩内容,请关注同名公众:一点sir(alittle-sir) Python 并发编程是指在 Python 中编写能够同时执行多个任务的程序。并发编程在任何一门语言当中都是比较难的,因为会涉及各种各样的问题,

2024java最新面试题总结(针对于一些小厂、中厂)-爱代码爱编程

这是根据个人面试经历总结出来的一些经验希望可以帮助到有需要的人。 面试的时候,会先让你进行自我介绍,这个大家准备一两分钟的面试稿就可以。然后就是正式面试,面试官一般是两个人以上,开始,面试官会先提问一些基本知识,很基础,基本这个大家是没什么问题的,都可以回答应对。最重要的一点来了,就是中间提问,这个提问会根据你的简历上面的掌握技能来进行,所以简历上面一定