【Java-37】基于Java的队列与栈的实现

本文介绍了如何使用Java中的双端队列(Deque)来模拟栈和队列的操作。通过从队头进栈并出栈实现栈的功能,从队头进队和队尾出队实现队列的FIFO特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Java中,我们使用双端队列模拟队列与栈,如上图所示,双端队列只从队的头进(便于理解我们假设只从一头进),但是头与尾都可以出,如果从头出那么就是栈,如红线虚框,从尾出就是队列,如蓝线虚框

1.模拟栈

栈是先进后出,那么从双端队列的队头进入元素即为进栈,从双端队列队头出队即为出栈

		Deque<String> deque=new LinkedList<String>();
		
		System.out.println("------------模擬棧-------------");
		//進棧
		deque.addFirst("盘子1");
		deque.addFirst("盘子2");
		deque.addFirst("盘子3");
		
		//取棧頂元素不退棧
		System.out.println("棧頂元素:"+deque.getFirst());
		//取棧頂元素退棧
		System.out.println(deque.pop());
		System.out.println(deque.pop());
		System.out.println(deque.pop());

2.模拟队

队是先进先出,那么从双端队列的队头进入元素即为进队,从双端队列队尾出队即为出队

		System.out.println("------------模擬隊-------------");
		//進隊
		deque.addFirst("盘子1");
		deque.addFirst("盘子2");
		deque.addFirst("盘子3");
		
		//取隊尾元素不出隊
		System.out.println("隊尾元素:"+deque.getLast());
//		//出隊并獲取最後一個元素
		System.out.println(deque.pollLast());
		System.out.println(deque.pollLast());
		System.out.println(deque.pollLast());

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值