コード例 #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Введите количество элементов списка:");
            int        N = ReadAnswer();
            DoubleList b = new DoubleList();

            b = Create(N, 1, b);
            Show(b);
            Console.WriteLine("Введите значение элемента, который вы хотите найти:");
            int search = ReadAnswer1();

            Research(b, search, 0);
            int count = Size(b);

            Console.WriteLine("Введите значение элемента, который нужно удалить:");
            int del = ReadAnswer1();

            Delete(b, del);
            if (count == Size(b))
            {
                Console.WriteLine("Такого элемента нет в списке");
            }
            Show(b);
            Console.ReadKey();
        }
コード例 #2
0
 public static void Delete(DoubleList beg, int n)
 {
     if (beg != null)
     {
         DoubleList temp = beg;
         DoubleList k    = beg;
         if ((temp.data == n) && (temp.next != null))
         {
             k      = temp.next;
             k.last = null;
             Console.WriteLine("Элемент удален");
         }
         else if ((temp.next != null) && (temp.next.next != null) && (temp.next.data == n))
         {
             temp = temp.next = temp.next.next;
             Console.WriteLine("Элемент удален");
         }
         else if ((temp.next != null) && (temp.next.next == null) && (temp.next.data == n))
         {
             temp.next = null;
             Console.WriteLine("Элемент удален");
         }
         else
         {
             if (temp.next != null)
             {
                 temp = temp.next;
                 Delete(temp, n);
             }
         }
     }
 }
コード例 #3
0
        public static int Size(DoubleList beg)
        {
            int size = 0;

            while (beg.next != null)
            {
                beg = beg.next;
                size++;
            }
            return(size);
        }
コード例 #4
0
        public static DoubleList Add(int el, DoubleList beg)
        {
            DoubleList temp = new DoubleList(el);
            DoubleList t    = beg;

            while (t.next != null)
            {
                t = t.next;
            }
            t.next    = temp;
            temp.last = t;
            return(beg);
        }
コード例 #5
0
 public static DoubleList Create(int N, int i, DoubleList beg)
 {
     if (i <= N)
     {
         beg = Add(i, beg);
         i++;
         beg = Create(N, i++, beg);
         return(beg);
     }
     else
     {
         return(beg);
     }
 }
コード例 #6
0
 public static void Show(DoubleList beg)
 {
     if (beg != null)
     {
         DoubleList temp = beg.next;
         Console.WriteLine(@"Список:");
         while (temp != null)
         {
             Console.Write(temp + " ");
             temp = temp.next;
         }
         Console.WriteLine();
     }
     else
     {
         Console.WriteLine("Список пуст");
     }
 }
コード例 #7
0
 public static void Research(DoubleList beg, int num, int count)
 {
     if (beg != null)
     {
         DoubleList temp = beg;
         if (temp.data == num)
         {
             Console.WriteLine($"Элемент {temp.data} найден на {count} месте");
         }
         else if (temp.next != null)
         {
             count++;
             temp = temp.next;
             Research(temp, num, count);
         }
         else if (temp.next == null)
         {
             Console.WriteLine("Элемент не найден");
         }
     }
 }
コード例 #8
0
 public DoubleList(int d)
 {
     data = d;
     next = null;
     last = null;
 }
コード例 #9
0
 public DoubleList()
 {
     data = 0;
     next = null;
     last = null;
 }