public void Remove(T Data) { while (Head != null && Head.Data.Equals(Data)) { if (Count == 1) { Head = null; } else { Head.Previous.Next = Head.Next; Head.Next.Previous = Head.Previous; Head = Head.Next; } Count--; } if (Head != null) { for (LinkedListNode_2side <T> c = Head; c.Next != Head;) { if (c.Next.Data.Equals(Data)) { c.Next = c.Next.Next; c.Next.Previous = c; Count--; } else { c = c.Next; } } } }
public T At(int Index) { int Counter = 1; for (LinkedListNode_2side <T> c = Head; c != null; c = c.Next, Counter++) { if (Counter == Index) { return(c.Data); } } return(default(T)); }
public T At(int Index) { if (Index == 1) { return(Head.Data); } int Counter = 2; for (LinkedListNode_2side <T> c = Head.Next; c != Head; c = c.Next, Counter++) { if (Counter == Index) { return(c.Data); } } return(default(T)); }
public void Add(T Data) { LinkedListNode_2side <T> New = new LinkedListNode_2side <T>() { Data = Data }; if (Head == null) { Head = New; Head.Next = Head; Head.Previous = Head; } else { New.Next = Head; New.Previous = Head.Previous; Head.Previous.Next = New; Head.Previous = New; } Count++; }
public void Add(T Data) { LinkedListNode_2side <T> New = new LinkedListNode_2side <T>() { Data = Data }; if (Head == null) { Head = New; } else { var c = Head; while (c.Next != null) { c = c.Next; } c.Next = New; New.Previous = c; } Count++; }