队列的实例

来源:互联网 发布:网络公关成功案例 编辑:程序博客网 时间:2024/05/22 14:12

 package test;
/*
 * 队列
 * */
class Queue
{
 private int maxSize;
 private int[] array;
 private int front;
 private int rear;//队尾
 private int nElems;//队头
 public Queue(int max)
 {
  maxSize=max;
  array=new int[maxSize];
  nElems=0;
  front=0;//删除标记
  rear=-1;//插入标记
 }
 public void insert(int key)
 {
  //验证队尾是否到底了
  if(rear==maxSize-1)
   rear=-1;
  array[++rear]=key;
  nElems++;
 }
 public int delete()
 {
  int temp=array[front++];
  if(front==maxSize)
   front=0;
  nElems--;
  return temp;
   
 }
 public int peekFront()
 {
  return array[front];
 }
 public boolean isEmpty()
 {
  return (nElems==0);
 }
 public int getsize()
 {
  return nElems;
 }
 public boolean isFull()
 {
  return nElems==maxSize;
 }
 public void display()
    {
     for(int i=0;i<nElems;i++)
      System.out.print(array[i]+" ");
    }
}

public class queue_test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub

  Queue que=new Queue(20);
  for(int i=0;i<10;i++)
  {
   int n=(int)(java.lang.Math.random()*99);
   que.insert(n);
  }
  que.display();
  System.out.println();
  que.delete();
  que.display();
  
 }

}

原创粉丝点击