两个队列实现栈--出栈,入栈

本文介绍了如何利用两个队列来模拟栈的功能,包括入栈和出栈操作。入栈时,元素直接进入队列1;出栈时,若队列1只有一个元素则直接出栈,否则将队列1的除最后一个元素外的所有元素转移到队列2,然后出栈队列1的元素。这种策略确保了栈的基本操作得以实现。
摘要由CSDN通过智能技术生成

栈和队列新加入元素的时候总是在最后加入,只不过队列出的时候栈顶,队列出的是队首。所以入栈就是先把元素进入队列1,出栈的时候,先判断队列1有几个元素,如果只有一个元素就直接输出这个元素就好,如果不止1个就先把队列1的n-1个元素放入队列2,然后把队列1的元素弹出,弹出后队列1就空了,如果此时还要进行出栈操作,就报队列2的n-1个元素放到队列1中然后弹出队列2的元素。
出栈的中心思想就是要输出元素的那个队列只有一个元素,出队后就空了。

这里写图片描述

package stackAndQuence;

import java.util.LinkedList;

public class queueToStack {
    LinkedList<Integer> queue1 = new LinkedList<Integer>();
    LinkedList<Integer> queue2 = new LinkedList<Integer>();

    public void push(int 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值