【数据结构】 Queue 的简单实现

  public class XQueue<T>
{
/// <summary>
/// 第一个元素
/// </summary>
private static XQueueItem<T> _top;
/// <summary>
/// 最后一个元素
/// </summary>
private static XQueueItem<T> _last; /// <summary>
/// 长度
/// </summary>
private int _length; /// <summary>
/// 容量
/// </summary>
/// <returns></returns>
public int Count()
{
return _length;
} /// <summary>
/// 入队
/// </summary>
/// <param name="t"></param>
public void Enqueue(T t)
{
var item = new XQueueItem<T> { Item = t };
if (_top == null)
{
_last = _top = item;
}
else
{
_last.Next = item;
item.Prev = _last;
}
_length++;
} /// <summary>
/// 出队
/// </summary>
/// <returns></returns>
public T DeQueue()
{
if (_length == )
{
throw new Exception("队列为空");
}
T t = _last.Item;
_last = _last.Prev;
return t;
} internal class XQueueItem<T>
{
/// <summary>
/// 当前元素
/// </summary>
public T Item; /// <summary>
/// 下一个元素
/// </summary>
public XQueueItem<T> Next; /// <summary>
/// 上一个元素
/// </summary>
public XQueueItem<T> Prev;
}
}

最新文章

  1. zabbix安装
  2. Linux的硬链接为何不能链接目录
  3. SpringMVC利用拦截器防止SQL注入
  4. c++实现之 -- 汉语词语的简单处理
  5. dede只调用当天发布的文档
  6. QT定制有标题的扁平化下拉框控件
  7. Opencv——灰度直方图
  8. js 实现tab选项卡
  9. 工具函数之JS
  10. SQL省市区三级表结构
  11. 红豆带你从零学C#系列—Visual Studio工具介绍、下载和安装
  12. 【从翻译mos文章】SGA_TARGET与SHMMAX关系
  13. .net mvc mssql easyui treegrid
  14. redhat 安装GCC-4.8.3
  15. opencv-python:win7下,搭建python2.7.5环境,配置opencv3.1.0准备开工-OpenCV步步精深
  16. C#基础知识 结构与类的区别
  17. Ambari安装小记
  18. 这可能是目前最新的 Vue 相关开源项目库汇总(转)
  19. Visual Stuido快捷键
  20. 7.11js的总结

热门文章

  1. Django:ORM关系字段
  2. 【洛谷5287】[HNOI2019] JOJO(主席树优化KMP)
  3. TSP 遗传算法
  4. 围绕react衍生出来的思考
  5. centos 6.6 下yum安装部署zabbix2.4所遇到web安装页面无法打开的问题
  6. Android学习笔记_75_Andorid控件样式汇总
  7. docker官方文档翻译3
  8. iOS | XIB简单应用和注意点
  9. JavaScript中BOM的基础知识总结
  10. boost::shared_ptr文档翻译