//java由于泛型的擦除,用起来十分不方便

abstract class BaseQueue<T>{
abstract boolean enQueue(T x);
abstract T front(T x);//注意这里也要和c++ 区别一下 这里直接返回首部元素
abstract boolean delQueue();
abstract void clear();
}
class Queue<T> extends BaseQueue<T>{
int mMaxSize,mIndexF,mIndexR;
T []mQueue;
@SuppressWarnings("unchecked")
Queue(Class<T> type,int maxSize){
mMaxSize=maxSize;
mIndexF=mIndexR=;
mQueue=(T[])Array.newInstance(type, maxSize);
}
@Override
boolean enQueue(T x) {
// TODO Auto-generated method stub
if(isFull()){
//over flow
return false;
}else{
mIndexF=(mIndexF+)%mMaxSize;
mQueue[mIndexF]=x;
return true;
}
}
@Override
T front(T x) {
// TODO Auto-generated method stub
if(isEmpty()){
//emprty
return null;
}
else{
x=mQueue[mIndexF];
System.out.println(x);
return x;
}
} @Override
boolean delQueue() {
// TODO Auto-generated method stub
if(isEmpty()){
//empty
return false;
}
else{
mIndexR=(mIndexR+)%mMaxSize;
return true;
}
}
@Override
void clear() {
// TODO Auto-generated method stub
mIndexF=mIndexR=;
}
boolean isFull(){
if((mIndexR+)%mMaxSize==mIndexR){
return true;
}else{
return false;
}
}
boolean isEmpty(){
return mIndexF==mIndexR;
}
}
public class JBQueue {
public static void main(String args[]){
Integer j = ;
Queue<Integer> test=new Queue<>(Integer.class, );
test.enQueue();
test.front(j);//由于擦除的原因 直接导致j的值没有变
System.out.println(test.front(j));
}
static int ff(int j){
j--;
return j;
}
}

最新文章

  1. JAVA的模式对话框和非模式对话框
  2. https笔记
  3. Android开发-API指南-&lt;instrumentation &gt;
  4. RequiredFieldValidator的使用
  5. SFMPQ打包工具完后小结
  6. Oracle 表数据去重
  7. ASP导出Word带页眉页脚,中文不乱码
  8. ACTIVEX 重新安装与卸载
  9. Word2007怎样从随意页開始设置页码 word07页码设置毕业论文
  10. 在外国网站上看到一个用artoolKit做的demo,学习了用gcd创建单列
  11. docker学习笔记2:容器操作
  12. QT信号和槽
  13. Beta第一天
  14. C++primer第一章(部分)
  15. MySql:SELECT 语句(四)通配符的使用
  16. Delphi 常用语句
  17. XP下安装Centos 6.4 双系统 :Linux系统分区及挂载点,关键引导程序启动设置
  18. 统一建模语言 UML (2)
  19. [转]在ubuntu下安装sublime text
  20. codeforce——思维dp

热门文章

  1. OC CollectionView和TableView自身高度的隐式递归计算,改变父试图布局
  2. @Bean 注解全解析
  3. Oracle数据库---PLSQL
  4. Nginx正向代理和反向代理
  5. C++学习书籍推荐《Effective C++ 第三版(英文)》下载
  6. Flutter学习笔记(6)--Dart异常处理
  7. 嗨,你真的懂this吗?
  8. mysql+mybatis存储超大json
  9. [NOI2014]魔法森林题解
  10. Java用Xom生成XML文档