示例#1
0
        // Task: create a circular list of N elements with values from 1 to N (1 is the tail).
        // Add functions to search and delete elements.
        // Student: Alexey Subbotin. Group: SE-17-1.
        static void Main(string[] args)
        {
            // Getting the N.
            int N = GetN();

            // Creating the list.
            Console.Write("Created list: ");
            CircularList circularList = new CircularList();

            circularList.CreateCircularList(N);
            circularList.Show();
            Console.WriteLine();

            int   value  = GetWantedValue();
            Point wanted = circularList.SearchElem(value, circularList.Head, circularList.Tail);

            if (wanted.Next == null)
            {
                Console.WriteLine("There is no element with the wanted value!");
            }
            else
            {
                Console.WriteLine("The element with the wanted value: {0}\nThe next: {1}", wanted.Value, wanted.Next.Value);
            }

            value             = GetWantedValue();
            circularList.Head = circularList.DeleteElem(value, circularList.Tail, circularList.Head, circularList.Tail);
            circularList.Show();

            Console.ReadLine();
        }
示例#2
0
        /*
         * Напишите метод создания циклического списка,
         * в информационные поля элементов которого последовательно заносятся номера с 1 до N (N водится с клавиатуры).
         * Первый включенный в список элемент, имеющий номер 1, оказывается в хвосте списка (последним).
         * Разработайте методы поиска и удаления элементов списка.
         */
        static void Main(string[] args)
        {
            int N = GetN();

            // Создание
            Console.Write("Созданный лист: ");
            CircularList circularList = new CircularList();

            circularList.CreateCircularList(N);
            circularList.Show();
            Console.WriteLine();
            // Поиск
            int   value  = GetWantedValue();
            Point wanted = circularList.Search(value, circularList.Head, circularList.Tail);

            if (wanted.Next == null)
            {
                Console.WriteLine("Элементов с искомым значений найдено не было!");
            }
            else
            {
                Console.WriteLine($"Элемент с искомым значением: {wanted.Value}\nСледующий элемент: {wanted.Next.Value}");
            }
            // Удаление
            value             = GetWantedValue();
            circularList.Head = circularList.Delete(value, circularList.Tail, circularList.Head, circularList.Tail);
            circularList.Show();

            Console.ReadLine();
        }