码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-07-14 09:53:26      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:

 【数据结构】 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;
        }
    }

 

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

标签:

原文地址:http://www.cnblogs.com/fzz2727551894/p/4644563.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!