コード例 #1
0
 // Печать списка
 public void WriteList()
 {
     Console.WriteLine();
     if (head == null)
     {
         Console.WriteLine("Пусто");
     }
     else
     {
         biNode tmp = head;
         while (tmp != null)
         {
             Console.Write(tmp.Data.ToString());
             tmp = tmp.Next;
         }
     }
 }
コード例 #2
0
 public void Create(int n, double[] x)                                                  // Создаём двунаправленный список
 {
     for (int i = 0; i < n; i++)                                                        //сколько элементов добавить
     {
         biNode node = new biNode(x[i]);
         if (head == null)
         {
             head = node;
         }
         else
         {
             tail.Next = node;
             node.Prev = tail;
         }
         tail = node;
         count++;
     }
 }
コード例 #3
0
        public void Сalculation(int size)                                                        //Вычисление заданного в варианте выражения
        {
            double result   = 1;
            biNode tempHead = head;                                                             //Переменная для передвижения по списку с начала
            biNode tempTail = tail;                                                             //Переменная для передвижения по списку с конца

            if (tempHead == null || size < 3)                                                   //Если список пуст
            {
                Console.WriteLine("\nСписок недостаточной длины. Вычисления невозможны.");      //Вычисление невозможно
            }
            else
            {
                while (tempHead.Next.Next != null)
                {
                    result   = result * (tempHead.Data + tempHead.Next.Data + 2 * tempTail.Data); // вычисление одного из множителей выражения
                    tempHead = tempHead.Next;                                                     //переход к следующим элементам списка вперед
                    tempTail = tempTail.Prev;                                                     //переход к следующим элементам списка назад
                }
                Console.WriteLine($"\nЗначение выражения равно: {result}");
            }
        }