Beispiel #1
0
        //Функция объединения
        private static void AddElement()
        {
            var      exit    = false;
            PointTwo beg     = null;
            var      sizeTwo = 0;
            var      k       = 2;


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


                case 2:
                    Console.WriteLine("Список до изменений: ");
                    ShowList(beg);
                    var tmp = sizeTwo;
                    CreateExtraElement(beg, ref sizeTwo);
                    if (sizeTwo != tmp)
                    {
                        Console.WriteLine("Cписок после изменений: ");
                        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
        }     //Функция объединения
Beispiel #2
0
        //Добавление элемента с заданным номером c ДСЧ
        private static PointTwo AddPointRandom(PointTwo beg, PointTwo point, ref int sizeTwo)
        {
            var rnd = new Random();


            if (beg == null) //список пустой
            {
                Console.WriteLine("Error! The List is empty...");
                return(beg);
            }

            var p = beg;

            for (var i = 0; i < sizeTwo && p != null; i++)
            {
                if (p.Data != point.Data)
                {
                    p = p.Next;
                }
                else
                {
                    break;
                }
            }

            if (p == null)
            {
                Console.WriteLine("Error! The given number isn't in the the List...");
                return(beg);
            }

            var info = Math.Round(rnd.Next(-100, 101) + rnd.NextDouble(), 3);

            Console.WriteLine("The element {0} is adding...", info);
            var newPoint = MakePointTwo(info);

            newPoint.Next = p.Next;
            newPoint.Pred = p;
            p.Next        = newPoint;
            sizeTwo++;
            if (newPoint.Next != null) //не последний
            {
                newPoint.Next.Pred = newPoint;
            }
            return(beg);
        }
Beispiel #3
0
        //Вывести список
        private static void ShowList(PointTwo 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();
        }
Beispiel #4
0
        //Добавление элемента с заданным номером с класиатуры
        private static PointTwo AddPointKeyboard(PointTwo beg, PointTwo point, ref int sizeTwo)
        {
            if (beg == null) //список пустой
            {
                Console.WriteLine("Error! The List is empty...");
                return(beg);
            }

            var p = beg;

            for (var i = 0; i < sizeTwo && p != null; i++)
            {
                if (p.Data != point.Data)
                {
                    p = p.Next;
                }
                else
                {
                    break;
                }
            }
            if (p == null)
            {
                Console.WriteLine("Error! The given number isn't in the the List...");
                return(beg);
            }

            Console.WriteLine("Read element: ");
            var info = ReadLib.ReadLib.ReadDouble();

            Console.WriteLine("The element {0} is adding...", info);
            var newPoint = MakePointTwo(info);

            newPoint.Next = p.Next;
            newPoint.Pred = p;
            p.Next        = newPoint;
            if (newPoint.Next != null) //не последний
            {
                newPoint.Next.Pred = newPoint;
            }
            sizeTwo++;
            return(beg);
        }
Beispiel #5
0
        //Выбор ввода доп. элемента
        private static void CreateExtraElement(PointTwo beg, ref int sizeTwo)
        {
            Console.WriteLine("Введите элемент, после которого ввести элемент: ");
            var addElement = MakePointTwo(ReadLib.ReadLib.ReadDouble());
            var sw         = Print.Menu(0, Index[12], Index[13], Index[4]);

            switch (sw)
            {
            case 1:
                beg = AddPointRandom(beg, addElement, ref sizeTwo);
                break;

            case 2:
                beg = AddPointKeyboard(beg, addElement, ref sizeTwo);
                break;

            case 3:
                break;
            }
        }
Beispiel #6
0
        }     //Функция объединения

        //создание элемента списка
        private static PointTwo MakePointTwo(double d)
        {
            var p = new PointTwo(d);

            return(p);
        }
Beispiel #7
0
 public PointTwo(double d)
 {
     Data = d;
     Next = null;
     Pred = null;
 }
Beispiel #8
0
                        Pred; //адрес предыдущего элемента

        public PointTwo()
        {
            Data = 0;
            Next = null;
            Pred = null;
        }