泛型 java 循环对了

鄙人写的一个泛型java循环队列

 

/**
 * 泛型循环队列
 *
 * kinglion
 */
public class Queue<T> {
 final int Defaultsize=50;
 private  T element[];
 private int size;
 private int front;
 private int rear;
 private int count;
 
 public Queue(){
  
 }
 @SuppressWarnings("unchecked")
 public void Qinit(){
  size=Defaultsize;
  element =(T[])(new Object[size]);      //注意java不支持 泛型数组,c++里面支持 故需要类型转换下
 }
 public Boolean Qempty(){
  return front==rear;
 }
 public Boolean Qfull(){
  return (rear+1)%size==front;
 }
 public int Qlength(){
  return count;
 }
 public void Qinsert(T item){
  if(count==size){
   System.out.println("队列已满,不能再加入");
          return ;
  }
  count++;
  element[rear]=item;
  rear=(rear+1)%size;
 }
 public void Qdelete(){
  if(count>0){
   element[front]=null;
   count--;
   front=(front+1)%size;
  }
 }
 public T QgetIndex(int index){
  if(count<0||element[index]==null)
   return null;
  return element[index];
 }
 public T Qgetfront(){
  if(count>0){
   return element[front];
  }
  return null;
 }
 public void clearQueue(){
  front=0;
  rear=0;
  count=0;
 }
 public static void main(String args[]){
  Queue<String> queue=new Queue<String>();
  queue.Qinit();
  for(int i=0;i<10;i++){
   queue.Qinsert("Str"+i);
  }
  queue.Qdelete();
  queue.Qdelete();
  queue.Qdelete();
  queue.Qdelete();
  queue.Qdelete();
  System.out.println(queue.QgetIndex(1));
  System.out.println(queue.count);
  System.out.println(queue.QgetIndex(queue.rear-1));
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值