//In this part, this gets the times a number has occurred private ILinkedList <Occurrence> GetNumberOccurrences() { var occurrences = new DoublyLinkedList <Occurrence>(); var storage = new Occurrence[10]; for (int i = 0; i < storage.Length; i++) { storage[i] = new Occurrence(i.ToString(), 0); } foreach (int number in Numbers) { string numberInString = number.ToString(); if (numberInString.Length < 3) { numberInString = numberInString.PadLeft(3, '0'); } foreach (char c in numberInString) { storage[c - 48].Count++; } } foreach (var occurrence in storage) { if (occurrence.Count > 0) { occurrences.AddToTail(occurrence); } } return(occurrences); }
public void AddToTailTest(int input) { Node newNode = new Node(5); DoublyLinkedList doublyLinked = new DoublyLinkedList(newNode); doublyLinked.AddToTail(input); Assert.Equals(input, doublyLinked.Tail.Value); }
public void DeleteTest(int value) { LinkedList.DoublyLinkedList doublyLL = new DoublyLinkedList(value * 2); Node newNode = new Node(99); doublyLL.AddToTail(newNode); Assert.Equal(true, doublyLL.Tail.Value); }
private ILinkedList <int> ParseInput(string[] numbers) { var list = new DoublyLinkedList <int>(); foreach (string item in numbers) { int parsed = int.Parse(item); if (Math.Abs(parsed).ToString().Length > 3) { throw new InvalidOperationException("The length "); } list.AddToTail(int.Parse(item)); } return(list); }