博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
队列的实现
阅读量:5240 次
发布时间:2019-06-14

本文共 1286 字,大约阅读时间需要 4 分钟。

  队列是一种特殊的,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

队列的特性:先进先出;

 

以下代码是用链表实现的队列:

1.队列的接口

1 public interface IQueue
{ 2 //入队操作 3 void enQueue(T e); 4 //出队操作 5 T deQueue(); 6 //返回队列的大小 7 int getSize(); 8 //判断队列是否为空 9 boolean isEmpty();10 //查看队首元素11 T peek();12 }

2.队列类

1 import java.util.EmptyStackException; 2 import java.util.LinkedList; 3  4 public class MyQueue
extends LinkedList
implements IQueue
{ 5 6 @Override 7 public void enQueue(T e) { 8 super.add(e); 9 10 }11 12 @Override13 public T deQueue() {14 if(getSize()<=0) throw new EmptyStackException();15 T value=super.getFirst();16 super.removeFirst();17 return value;18 }19 20 @Override21 public boolean isEmpty() {22 return getSize()>0;23 }24 25 @Override26 public T peek() {27 if(getSize()<=0) throw new EmptyStackException();28 T value=super.getFirst();29 return value;30 }31 32 @Override33 public int getSize() {34 return super.size();35 }36 37 }

 

转载于:https://www.cnblogs.com/LgxBoKeYuan/p/10205899.html

你可能感兴趣的文章
多进程与多线程的区别
查看>>
PAT 1145 1078| hashing哈希表 平方探测法
查看>>
Ubuntu(虚拟机)下安装Qt5.5.1
查看>>
Linux第七周学习总结——可执行程序的装载
查看>>
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
查看>>
细说php(二) 变量和常量
查看>>
iOS开发网络篇之Web Service和XML数据解析
查看>>
个人寒假作业项目《印象笔记》第一天
查看>>
java 常用命令
查看>>
ZOJ 1666 G-Square Coins
查看>>
CodeForces Round #545 Div.2
查看>>
卷积中的参数
查看>>
Linux中Zabbix4.0的搭建
查看>>
《LoadRunner没有告诉你的》之六——获取有效的性能需求
查看>>
51nod1076 (边双连通)
查看>>
Item 9: Avoid Conversion Operators in Your APIs(Effective C#)
查看>>
js去除空格
查看>>
学习Spring Boot:(二十八)Spring Security 权限认证
查看>>
IT学习神器——慕课网App获App Store、Android应用市场重磅推荐
查看>>
Linux网络状态工具ss命令使用详解
查看>>