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++; }
public DataQueue(HeightData data) { Data = data; BaseNode = Data.Base; }