zoukankan      html  css  js  c++  java
  • 【数据结构】 Queue 的简单实现

     【数据结构】 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;
            }
        }
  • 相关阅读:
    xmapp开启https
    docker常用命令
    kubernetes常用命令
    MySQL text类型的最大长度
    用jQuery的attr()设置option默认选中无效的解决 attr设置属性失效
    squid3认证配置
    Go & SQLite on Windows
    orchestrator-Raft集群部署
    协程并发框架gevent及其用法
    syslog日志系统
  • 原文地址:https://www.cnblogs.com/fzz2727551894/p/4644563.html
Copyright © 2011-2022 走看看