public void Delete(T value) { SimpleNode <T> temp = _head; if (_head == null) { return; } do { if (temp.GetValue().Equals(value)) { if (temp == _head) { if (Length() == 1) { _head = null; } } temp.SetValue(temp.GetNext().GetValue()); if (temp.GetNext() == _head) { _head = temp; } temp.SetNext(temp.GetNext().GetNext()); break; } temp = temp.GetNext(); }while(temp != _head); }
public CircularList(SimpleNode <T> head, SimpleNode <T> next) { _head = head; if (_head != null) { _head.SetNext(next); } }
public void Push(T value) { if (_head == null) { _head = new SimpleNode <T>(value); return; } SimpleNode <T> appended = new SimpleNode <T>(value); appended.SetNext(_head); _head = appended; }
public void Enqueue(T value) { if (_head == null) { _head = new SimpleNode <T>(value); return; } SimpleNode <T> temp = new SimpleNode <T>(value); temp.SetNext(_head); _head = temp; }
public void Append(T value) { if (_head == null) { _head = new SimpleNode <T>(value); return; } SimpleNode <T> temp = _head; while (temp.HasNext()) { temp = temp.GetNext(); } temp.SetNext(new SimpleNode <T>(value)); }
public void Append(T value) { if (_head == null) { _head = new SimpleNode <T>(value); _head.SetNext(_head); return; } T headCopy = _head.GetValue(); SimpleNode <T> headNextCopy = _head.GetNext(); _head.SetValue(value); SimpleNode <T> insert = new SimpleNode <T>(headCopy); _head.SetNext(insert); insert.SetNext(headNextCopy); _head = insert; }
public SimpleNode <T> Dequeue() { if (_head == null) { return(null); } SimpleNode <T> temp = _head; SimpleNode <T> prev = null; while (temp.HasNext()) { prev = temp; temp = temp.GetNext(); } if (prev == null) { Clear(); return(temp); } prev.SetNext(null); return(temp); }
public void Delete(T value) { SimpleNode <T> temp = _head; SimpleNode <T> prev = null; while (temp != null) { if (temp.GetValue().Equals(value)) { if (temp == _head) { _head = temp.GetNext(); } else { prev.SetNext(temp.GetNext()); } break; } prev = temp; temp = temp.GetNext(); } }