예제 #1
0
        public static void Find()
        {
            if (sym == null)
            {
                Console.WriteLine("");
                return;
            }
            bool okey;
            int  numm;

            do
            {
                Console.WriteLine("Введите кол-во элементов в списке: ");
                okey = int.TryParse(Console.ReadLine(), out numm);
                if (!okey)
                {
                    Console.WriteLine("Ошибка! Требуется ввести натуральное число.");
                }
            } while (!okey);
            Poin temp = sym;

            for (int i = 0; i < numm && temp != null; i++)
            {
                temp = temp.next;                                            //перебор элементов до нужного номера
            }
            if (temp == null)
            {
                Console.WriteLine("Элемент не найден.");
                return;
            }
            Console.WriteLine(" Элемент: " + temp);
        }
예제 #2
0
 public static void Create()
 {
     Console.WriteLine("Введите количество элементов: ");
     //unber = Number.Check(1, int.MaxValue);
     // HowCreate = System.Text.HowAdd();
     sym = SdelatSpisok();
 }
예제 #3
0
 static Poin SdelatSpisok()
 {
     sym = MakePointTwo(1);//создает первый элемент
     for (int i = 1; i < unber; i++)
     {
         sym = AddToTwo(sym, (i + 1));//добавляет  остальные элементы в начало
     }
     return(sym);
 }
예제 #4
0
        public static Poin Delete()
        {
            if (sym == null)//список пустой
            {
                Console.WriteLine(" Список пуст!");
                return(null);
            }
            PokasSpisok();
            Console.WriteLine(" Номер удаляемого элемента: ");
            bool okey;
            int  num;

            do
            {
                Console.WriteLine("Введите элемент из списка: ");
                okey = int.TryParse(Console.ReadLine(), out num) && num > 0;
                if (!okey)
                {
                    Console.WriteLine("Ошибка! Требуется ввести натуральное число.");
                }
            } while (!okey);
            if (num == 1) //удаление в начале списка
            {
                sym = sym.next;
                if (sym != null)
                {
                    sym.pred = null;
                }
                return(sym);
            }
            Poin p = sym;

            for (int i = 1; i < num && p != null; i++)
            {
                p = p.next;
            }
            if (p == null)//если элемент не найден
            {
                Console.WriteLine("Ошибка! Размер списка меньше, чем номер.");
                return(sym);
            }
            //исключаем элемент из списка
            p.pred.next = p.next;
            if (p.next != null)
            {
                p.next.pred = p.pred;
            }
            Console.WriteLine(" Удалено!");
            return(sym);
        }
예제 #5
0
        static void PokasSpisok()
        {
            Console.WriteLine();
            if (sym == null)
            {
                Console.WriteLine("Список пуст!");
                return;
            }
            Poin temp = sym;

            Console.WriteLine("Исходный список:");
            while (temp != null)
            {
                Console.WriteLine(Convert.ToString(temp));
                temp = temp.next;//переход к следующему элементу
            }
        }
예제 #6
0
        static Poin AddToTwo(Poin sym, int numb)//добавление остальных элементов в начало
        {
            Poin x    = MakePointTwo(numb);
            Poin poin = new Poin(x.time);

            if (sym == null)
            {
                return(poin);
            }
            Poin temp = sym;

            while (temp.pred != null)
            {
                temp = temp.pred;
            }
            poin.next = sym;
            sym.pred  = poin;
            sym       = poin;
            return(sym);
        }
예제 #7
0
 //конструктор с параметром
 public Poin(string t)
 {
     time = t;
     next = null;
     pred = null;
 }
예제 #8
0
 //конструктор без параметров
 public Poin()
 {
     time = "";
     next = null;
     pred = null;
 }
예제 #9
0
        static void Main()
        {
            bool okey = true;
            int  nummer;

            //Проверка
            do
            {
                Console.WriteLine("Введите кол-во элементов в списке: ");
                okey = int.TryParse(Console.ReadLine(), out nummer);
                if (!okey)
                {
                    Console.WriteLine("Ошибка! Требуется ввести натуральное число.");
                }
            } while (!okey);



            int    select;
            int    may = 0;
            string nam;

            while (!okey)
            {
                select = 0;

                Console.WriteLine("Введите 1 для вывода ");
                Console.WriteLine("Введите 2 для поиска элемента по номеру");
                Console.WriteLine("Введите 3 для удаления элемента по номеру");
                Console.WriteLine("Введите 4 для выхода из порграммы");
                while (may == 0)
                {
                    nam = Console.ReadLine();
                    switch (nam)
                    {
                    case "1":
                        Console.WriteLine();
                        PokasSpisok();
                        break;

                    case "2":
                        Console.WriteLine("Введите номер элемента, который вы хотите найти: ");
                        Find();
                        break;

                    case "3":
                        Console.WriteLine("Введите номер элемента, который вы хотите удалить: ");
                        sym = Delete();
                        break;

                    case "4":
                        Console.WriteLine("Нажмите любую клавишу, чтобы выйти...");
                        Environment.Exit(0);
                        continue;

                    default:
                        Console.WriteLine("Вы нажали неизвестный символ, повторите попытку");
                        break;
                    }
                }
            }
            Console.ReadLine();
        }