您的位置:首页 > 理论基础 > 数据结构算法

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

2015-07-14 09:20 204 查看
【数据结构】 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 == 0)
{
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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: