示例#1
0
        public void Enqueue(HeightData data)
        {
            /*var qNode = new QueueNode<DataQueue>(new DataQueue(data))
             * {
             *  Next = _first
             * };
             *
             * if (_first == null)
             * {
             *  _first = _last = qNode;
             *  _first.Previous = null;
             * }
             * else
             * {
             *  _first = qNode;
             *  _last.Next = qNode;
             *  qNode.Previous = _last;
             *  _last = qNode;
             * }
             * _first = qNode;*/

            var dq = new DataQueue(data);

            var newFirst = new QueueNode <DataQueue>(dq)
            {
                Next = null,
            };

            dq.Data.QueueNode = newFirst;
            if (_first != null)
            {
                newFirst.Next   = _first;
                _first.Previous = newFirst;
            }

            _first = newFirst;
            if (_last == null)
            {
                _last = _first;
            }
            Size++;
        }
示例#2
0
 public DataQueue(HeightData data)
 {
     Data     = data;
     BaseNode = Data.Base;
 }