Beispiel #1
0
 /// <summary>
 /// Удаление с конца
 /// </summary>
 /// <param name="Q"></param>
 /// <returns></returns>
 static DoubleLinkList DelEnd(DoubleLinkList Q)
 {
     Q.DelEnd();
     Console.WriteLine();
     Q.Output();
     return(Q);
 }
Beispiel #2
0
        /// <summary>
        /// Добавление до заданного
        /// </summary>
        /// <param name="Q"></param>
        /// <returns></returns>
        static DoubleLinkList AddTo(DoubleLinkList Q)
        {
            Console.WriteLine("Введите значение позиции до которой будет вставлен элемент");
            int    k;
            string s = Console.ReadLine();

            if (int.TryParse(s, out k))
            {
                int p = 0;
                Console.WriteLine("Введите число для вставки");
                string s1 = Console.ReadLine();
                if (int.TryParse(s1, out p))
                {
                    Q.Addbefore(k, p);
                    Console.WriteLine();
                    Q.Output();
                }
                else
                {
                    Console.WriteLine("Неверное значение!");
                }
            }
            else
            {
                Console.WriteLine("Error!");
            }
            return(Q);
        }
Beispiel #3
0
        static DoubleLinkList random(int N)
        {
            DoubleLinkList A   = new DoubleLinkList();
            Random         rnd = new Random();

            for (int i = 0; i < N; i++)
            {
                int g = rnd.Next(0, 10);
                A.AddBegin(g);
            }
            return(A);
        }
Beispiel #4
0
        /// <summary>
        /// Поиск по номеру
        /// </summary>
        /// <param name="Q"></param>
        /// <returns></returns>
        static DoubleLinkList SearchByNumber(DoubleLinkList Q)
        {
            Console.WriteLine("Введите значение для поиска");
            int    k;
            string s = Console.ReadLine();

            if (int.TryParse(s, out k))
            {
                Q.Search(k);
            }
            else
            {
                Console.WriteLine("Error!");
            }
            return(Q);
        }
Beispiel #5
0
        /// <summary>
        /// Удаление после
        /// </summary>
        /// <param name="Q"></param>
        /// <returns></returns>
        static DoubleLinkList DelAfter(DoubleLinkList Q)
        {
            Console.WriteLine("Введите значение для поиска");
            int    k;
            string s = Console.ReadLine();

            if (int.TryParse(s, out k))
            {
                Q.DelAfter(k);
                Console.WriteLine();
                Q.Output();
            }
            else
            {
                Console.WriteLine("Error!");
            }
            return(Q);
        }
Beispiel #6
0
        /// <summary>
        /// Добавление в конец
        /// </summary>
        /// <param name="Q"></param>
        /// <returns></returns>
        static DoubleLinkList AddEnd(DoubleLinkList Q)
        {
            int p = 0;

            Console.WriteLine("Введите число для вставки");
            string s1 = Console.ReadLine();

            if (int.TryParse(s1, out p))
            {
                Q.AddEnd(p);
                Console.WriteLine();
                Q.Output();
            }
            else
            {
                Console.WriteLine("Неверное значение!");
            }
            return(Q);
        }
Beispiel #7
0
        /// <summary>
        /// Поиск по значению элемента
        /// </summary>
        /// <param name="Q"></param>
        /// <returns></returns>
        static DoubleLinkList SearchByItemValue(DoubleLinkList Q)
        {
            Console.WriteLine("Введите значение для поиска");
            int    k;
            string s = Console.ReadLine();

            if (int.TryParse(s, out k))
            {
                Console.WriteLine("Поищем");
                if (Q.Find(k) != -1)
                {
                    Console.WriteLine("Нашел");
                }
                else
                {
                    Console.WriteLine("Такого элемента нет");
                }
            }
            else
            {
                Console.WriteLine("Error!");
            }
            return(Q);
        }
Beispiel #8
0
        static void Main(string[] args)
        {
            Console.WriteLine("Введите размерность листа:");
            int    N;
            string s = Console.ReadLine();

            if (int.TryParse(s, out N))
            {
                if (N > 0)
                {
                    DoubleLinkList Q = new DoubleLinkList(); //создаем лист
                    Q = random(N);                           // рандомно заполняем лист
                    Console.WriteLine("Введите номер команды:");
                    Console.WriteLine("1- Вывод на экран");
                    Console.WriteLine("2- Поиск по значению");
                    Console.WriteLine("3- Поиск по номеру элемента");
                    Console.WriteLine("4- Добавление элемента до заданного");
                    Console.WriteLine("5- Добавление элемента после заданного");
                    Console.WriteLine("6- Удаление до");
                    Console.WriteLine("7- Удаление после");
                    Console.WriteLine("8- Добавление в начало");
                    Console.WriteLine("9- Добавление в конец");
                    Console.WriteLine("10- Удаление с начала");
                    Console.WriteLine("11- Удаление с конца");
                    for (int i = 1; ; i++)
                    {
                        int D;
                        Console.WriteLine("Выбрана команда:");
                        string t = Console.ReadLine();
                        if (int.TryParse(t, out D))
                        {
                            switch (D)
                            {
                            case 1: conclusion(Q);
                                break;

                            case 2: SearchByItemValue(Q);
                                break;

                            case 3: SearchByNumber(Q);
                                break;

                            case 4: AddTo(Q);
                                break;

                            case 5: AddAfter(Q);
                                break;

                            case 6: DelTo(Q);
                                break;

                            case 7: DelAfter(Q);
                                break;

                            case 8: AddBegin(Q);
                                break;

                            case 9: AddEnd(Q);
                                break;

                            case 10: DelBegin(Q);
                                break;

                            case 11: DelEnd(Q);
                                break;

                            default:
                                Console.WriteLine("Error!");
                                break;
                            }
                        }
                        else
                        {
                            Console.WriteLine("Error!");
                        }
                    }
                }
                else
                {
                    Console.WriteLine("Error!");
                }
            }
            else
            {
                Console.WriteLine("Error!");
            }
        }
Beispiel #9
0
 /// <summary>
 /// Вывод листа
 /// </summary>
 /// <param name="Q"></param>
 /// <returns></returns>
 static DoubleLinkList conclusion(DoubleLinkList Q)
 {
     Console.WriteLine("Наш лист");
     Q.Output();
     return(Q);
 }