예제 #1
0
        private bool FindElToRemove(Node <T> head, T el)
        {
            if (comparer.Compare(head.Current, el) > 0)
            {
                if (head.Prev == null)
                {
                    return(false);
                }

                return(FindElToRemove(head.Prev, el));
            }
            else if (comparer.Compare(head.Current, el) < 0)
            {
                if (head.Next == null)
                {
                    return(false);
                }

                return(FindElToRemove(head.Next, el));
            }

            if (head.Remove(ref Head))
            {
                Count--;
                return(true);
            }

            return(false);
        }