Example #1
0
        //Функция объединения
        public static void DeleteElements()
        {
            var      exit    = false;
            PointOne beg     = null;
            var      sizeOne = 0;
            var      k       = 2;


            while (!exit)
            {
                var sw = Print.Menu(k, Index[5], Index[6], Index[7], Index[4]);
                switch (sw)
                {
                case 1:
                    beg = CreatePoint(out k, out sizeOne);
                    Console.WriteLine(Index[8]);
                    Console.ReadLine();
                    break;


                case 2:
                    Console.WriteLine("Строка до изменений: ");
                    ShowList(beg);
                    var tmp = sizeOne;
                    beg = DelElement(beg, ref sizeOne);
                    if (sizeOne != tmp)
                    {
                        Console.WriteLine("Строка после изменений: ");
                        ShowList(beg);
                    }

                    Console.WriteLine(Index[8]);
                    Console.ReadLine();
                    break;


                case 3:
                    ShowList(beg);
                    Console.WriteLine(Index[8]);
                    Console.ReadLine();
                    break;


                case 4:
                    exit = true;     //выход
                    break;
                }
            } //Конец While
        }
Example #2
0
        //Вывести список
        private static void ShowList(PointOne beg)
        {
            //проверка наличия элементов в списке
            if (beg == null)
            {
                Console.WriteLine("The List is empty");
                return;
            }

            var p = beg;

            while (p != null)
            {
                Console.Write(p);
                p = p.Next; //переход к следующему элементу
            }

            Console.WriteLine();
        }
Example #3
0
        //Удалляем элемент с заданным номером
        private static PointOne DelElement(PointOne beg, ref int sizeOne)
        {
            if (beg == null) //пустой список
            {
                Console.WriteLine("Error! The List is empty");
                return(null);
            }


            var p = beg;

            if (p.Data % 2 == 0)
            {
                beg = beg.Next;
                sizeOne--;
                return(beg);
            }

            for (var i = 0; i < sizeOne - 1 && p.Next != null; i++)
            {
                if (p.Next.Data % 2 != 0)
                {
                    p = p.Next;
                }
                else
                {
                    break;
                }
            }

            if (p.Next == null)
            {
                Console.WriteLine("Error! Even number isn't in list");
                return(beg);
            } //если элемент не найден

            //исключаем элемент из списка
            p.Next = p.Next.Next;
            sizeOne--;
            return(beg);
        }
Example #4
0
 public PointOne(int d) //конструктор с параметрами
 {
     Data = d;
     Next = null;
 }
Example #5
0
        //Задание 1. Удаление первого элемента из списка с четным информационным полем

        #region taskOne

        //создание однонаправленного списка
        private static PointOne MakePoint(int d)
        {
            var p = new PointOne(d);

            return(p);
        }
Example #6
0
        public PointOne Next; //адресное поле

        public PointOne()     //конструктор без параметров
        {
            Data = 0;
            Next = null;
        }