//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);
        }
예제 #2
0
        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);
        }