Beispiel #1
0
        private static void TwoListPrint(TwoListItem head)
        {
            TwoListItem p = head;

            while (p != null)
            {
                Console.Write(p);
                p = p.next;//переход к следующему элементу
            }
            Console.WriteLine();
        }
Beispiel #2
0
        private static void AddItem(ref TwoListItem head, int number)
        {
            Random rnd = new Random();

            int info = rnd.Next(10, 100);

            Console.WriteLine("The element {0} is adding...", info);
            //создаем новый элемент
            TwoListItem NewPoint = MakePoint(info);

            if (head == null)//список пустой
            {
                head = MakePoint(rnd.Next(10, 100));
                return;
            }
            if (number == 0) //добавление в начало списка
            {
                NewPoint.next = head;
                head.pred     = NewPoint;
                head          = NewPoint;
                return;
            }
            //вспом. переменная для прохода по списку
            TwoListItem p = head;

            //идем по списку до нужного элемента
            for (int i = 1; i < number - 1 && p != null; i++)
            {
                p = p.next;
            }
            if (p == null)//элемент не найден
            {
                Console.WriteLine("Error! The size of List less than Number");
                return;
            }
            //добавляем новый элемент
            NewPoint.next = p.next;
            if (p.next != null)
            {
                p.next.pred = NewPoint;
            }

            p.next        = NewPoint;
            NewPoint.pred = p;

            return;
        }
Beispiel #3
0
        private static void GenerateTwoList(int size)//добавление в начало
        {
            Random      rnd  = new Random();
            int         info = rnd.Next(0, 11);
            TwoListItem beg  = MakePoint(info);

            for (int i = 1; i < size; i++)
            {
                info = rnd.Next(0, 11);
                TwoListItem p = MakePoint(info);
                p.next   = beg;
                beg.pred = p;
                beg      = p;
                if (beg == null)
                {
                    Console.WriteLine("Лист пустой");
                    return;
                }

                twoListHead = p;
            }
        }
Beispiel #4
0
        static TwoListItem MakePoint(int d)
        {
            TwoListItem p = new TwoListItem(d);

            return(p);
        }
 public TwoListItem(int d)//конструктор с параметрами
 {
     Data = d;
     next = null;
     pred = null;
 }
                    pred; //адрес предыдущего элемента
 public TwoListItem()
 {
     Data = 0;
     next = null;
     pred = null;
 }