java通过数组描述队列和循环队列

来源:互联网 发布:mysql free result 编辑:程序博客网 时间:2024/04/28 21:43
 class QueueArray
{
 int MaxSize=10;
 int[] AQueue=new int[MaxSize];
 int Front=Rear=-1;
//-----------------------------
//入列
//-----------------------------
public void AddQueue(int data)
  {
    if(Rear>=MaxSize)
      System.out.print("Queue is full!");
    else
      {AQueue[++Rear]=data;}
  }
//-----------------------------
//出列
//-----------------------------
public int DelQueue()
  {
     if(Front==Rear)
        System.out.print("Queue is empty!");
     else
        return AQueue[Front--];
  }
//-----------------------------
//打印
//-----------------------------
public void Print()
  {
    for(int i=0;i<MaxSize;i++)
        System.out.print("["+AQueue[i]+"]");
  }
}




class CicleQueueArray
{
  int MaxSize=10;
  int[] CQueue=new int[MaxSize];
  int Front=Rear=-1;
//-----------------------------
//入队
//-----------------------------
public void addCQueue(int data)
  {
    if((Rear+1)%MaxSize==Front)
      System.out.print("Circle queue is full!");
    else
      {Rear=(Rear+1)%Maxsize;
       CQueue[Rear]=data;
      }
  }
//-----------------------------
//出队
//-----------------------------
public int DelCQueue()
  {
    if(Rear==Front)
       System.out.print("Circle queue is empty!");
       return -1;
    else
      {Front=(Front+1)%MaxSize;
       return CQueue[Front];
      }
  }
//-----------------------------
//打印
//-----------------------------
public void Print()
  {
    for(int i=0;i<MaxSize;i++)
        System.out.print("["+CQueue[i]+"]");
  }
}
原创粉丝点击