public void RemoveFirst(T value) { if (this.FirstElement == null) { return; } var current = this.FirstElement; ILinkedListItem <T> previous = null; while (!current.Value.Equals(value)) { if (current.NextItem == null) { return; } previous = current; current = current.NextItem; } if (previous == null) { this.FirstElement = current.NextItem; } else { previous.NextItem = current.NextItem; } }
public void AddFirst(T value) { var listItem = new LinkedListItem <T>(value); listItem.NextItem = this.FirstElement; this.FirstElement = listItem; }
public void RemoveFirst() { if (this.FirstElement == null) { return; } var next = this.FirstElement.NextItem; this.FirstElement = next; }
public void Enqueue(T value) { var item = new LinkedListItem <T>(value); if (this.LastItem != null) { this.LastItem.NextItem = item; } this.LastItem = item; if (this.FirstItem == null) { this.FirstItem = item; } this.Count++; }
public void AddLast(T value) { var listItem = new LinkedListItem <T>(value); if (this.FirstElement == null) { this.FirstElement = listItem; return; } var currentItem = this.FirstElement; while (currentItem.NextItem != null) { currentItem = currentItem.NextItem; } currentItem.NextItem = listItem; }
public void RemoveLast() { if (this.FirstElement == null) { return; } if (this.FirstElement.NextItem == null) { this.FirstElement = null; return; } var current = this.FirstElement; var previous = this.FirstElement; while (current.NextItem != null) { previous = current; current = current.NextItem; } previous.NextItem = null; }