java 判断队列是否满_java算法,队列为空和已满?

该博客通过一个Java实例展示了如何使用双链表实现队列,并提供了向队列存取元素的方法。同时,代码中包含了判断队列是否为空的逻辑。此外,还演示了栈的操作,但主要焦点在于队列的实现和状态检查。
摘要由CSDN通过智能技术生成

2019-01-12 回答

class linkedlist //定义双项链表  {  char data;  linkedlist back;  linkedlist forward;  }    interface access //定义从队列和栈存取操作的接口  {  void put(char c);  char get();  }    class queue implements access //定义队列类  {  private linkedlist qhead=new linkedlist();  private linkedlist qrear=qhead; //初始化队头和队尾  public void put(char c) //实现向队列存数的方法  {  qrear.forward=new linkedlist();  qrear.forward.data=c;  qrear.forward.back=qrear;  qrear=qrear.forward;  }  public char get() //实现从队列取数的方法  {  if(qhead!=qrear) //如果队列不为空则取数  {  qhead.forward.back=null;  qhead=qhead.forward;  return qhead.data;  }  else  {  system.out.println("the queue is empty! ");  return '\0';  }  }  }    class stack implements access //定义栈类  {  private linkedlist bottom=new linkedlist();  private linkedlist top=bottom; //初始化栈顶与斩底  public void put(char c) //实现从栈中存数的方法  {  top.forward=new linkedlist();  top.forward.data=c;  top.forward.back=top;  top=top.forward;  }  public char get() //实现从栈中取数的方法  {  if(top!=bottom) //如果栈不为空则取数  {  char ch=top.data;  top.back.forward=null;  top=top.back;  return ch;  }  else  {  system.out.println("the stack is empty! ");  return '\0';  }  }  }    public class stackqueue  {  public static void main(string[] args)  {  char ch;  queue q=new queue(); //创建一个队列q  stack s=new stack(); //创建一个栈s  q.put('x');  q.put('y');  q.put('z'); //向队列q存入3个字符  s.put('x');  s.put('y');  s.put('z'); //向栈s存入3个字符  system.out.println("queue: ");    if((ch=q.get())!='\0')  system.out.println(ch);  if((ch=q.get())!='\0')  system.out.println(ch);  if((ch=q.get())!='\0')  system.out.println(ch);  if((ch=q.get())!='\0')  system.out.println(ch);  //从队列q中取数并显示    system.out.println("stack: ");    if((ch=s.get())!='\0')  system.out.println(ch);  if((ch=s.get())!='\0')  system.out.println(ch);  if((ch=s.get())!='\0')  system.out.println(ch);  if((ch=s.get())!='\0')  system.out.println(ch);  //从栈s中取数并显示  }  }  引自: http://wenwen.soso.com/z/q104863.htm?ch=w.xg.ll

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值