首页 > 其他 > 详细

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

时间:2015-07-14 09:50:23      阅读:286      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!