zoukankan      html  css  js  c++  java
  • 队列的实现

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

    队列的特性:先进先出;

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

    1.队列的接口

     1 public interface IQueue<T> {
     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<T> extends LinkedList<T> implements IQueue<T> {
     5 
     6     @Override
     7     public void enQueue(T e) {
     8         super.add(e);
     9         
    10     }
    11 
    12     @Override
    13     public T deQueue() {
    14         if(getSize()<=0) throw new EmptyStackException();
    15         T value=super.getFirst();
    16         super.removeFirst();
    17         return value;
    18     }
    19 
    20     @Override
    21     public boolean isEmpty() {
    22         return getSize()>0;
    23     }
    24 
    25     @Override
    26     public T peek() {
    27         if(getSize()<=0) throw new EmptyStackException();
    28         T value=super.getFirst();
    29         return value;
    30     }
    31     
    32     @Override
    33     public int getSize() {
    34         return super.size();
    35     }
    36 
    37 }
  • 相关阅读:
    面试题总结
    h5c3新特性
    redis常用命令大全
    windows下挂载linux的nfs网络硬盘
    mysql之char、varchar、text对比
    Lua与C的交互
    通信模型socket
    程序编译流程
    区块链共识机制(POW、POS、DPOS等)的优缺点
    .net c#获取自定义Attribute
  • 原文地址:https://www.cnblogs.com/LgxBoKeYuan/p/10205899.html
Copyright © 2011-2022 走看看