隊列的實例

 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();
  
 }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章