数组实现固定大小队列和栈

栈的数据结构是先进后出,队列的数据结构是先进先出。

数组实现固定大小栈的思想是:先创建一个固定大小的数组和一个size为0的常数,这个常数用来判断栈是否满或者空。当push时,查看size的大小是否为大于数组的长度,大于就给用户抛异常,否则就插入数组的size位置,size++。而pop的时候相反,查看size的大小是否为小于数组的长度,小于就给用户抛异常,否则就把size-1的位置给弹出,size=size-1。获取栈顶元素就直接返回数组的size-1位置的数。

数组实现固定大小队列的思想是:创建一个固定大小的数组和三个常数,size作用是计算插入队列的个数,last的作用是插入队列时使用,first的作用是弹出队列时使用。插入队列时先判断size是否为数组的长度,相等就不能插入队列,否则就size的大小加一,把数插入到数组的last位置,再判断last的值是否为数组大小减1,是的话就给last赋值为0,否则last自加1。弹出队列也要先判断size是否为0,为0则不能弹出,否则就size自减1,first位置上的值弹出,再给first赋值,若first值为数组长度减1,则赋值为0,否则first自加1。队列头部的值就为first位置上的值。

代码如下:

public class Array_To_Stack_Queue {
	public static void main(String[] args) {

	}
	public static class ArrayStack{
		private Integer[] arr;
		private 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值