Пример #1
0
 public elem(int inf, string f)
 {
     name = f;
     data = inf;
     next = null;
     prev = null;
 }
Пример #2
0
        public void print_all()
        {
            elem h = new elem();

            h = head.next;
            while (h != tail)
            {
                print(h);
                h = h.next;
            }
        }
Пример #3
0
        void swap(elem h, elem k)
        {
            elem t1 = h.prev;
            elem t2 = k.next;

            h.next  = k.next;
            k.next  = h;
            k.prev  = h.prev;
            h.prev  = k;
            t1.next = k;
            t2.prev = h;
        }
Пример #4
0
        public void sort_list()
        {
            elem temp = new elem();
            elem h    = head.next;

            while (h != tail)
            {
                temp = h.next;
                while ((h != tail.prev) && (h.data > temp.data))
                {
                    swap(h, h.next);
                }
                h = temp;
            }
        }
Пример #5
0
        public void red_elem(elem h)
        {
            Console.WriteLine("Введите новые данные через enter");
            bool g = true;

            while (g)
            {
                try
                {
                    h.data = Convert.ToInt32(Console.ReadLine());
                    h.name = Console.ReadLine();
                    g      = false;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Неверный ввод");
                }
            }
        }
Пример #6
0
        public void add_elem(int a, int b)
        {
            Console.WriteLine("Введите значение и имя через enter");
            bool g = true;

            while (g)
            {
                try
                {
                    int u = Convert.ToInt32(Console.ReadLine());

                    string d = Console.ReadLine();

                    elem f = new elem(u, d);
                    if (b == 0)
                    {
                        tail.prev.next = f;
                        f.next         = tail;
                        f.prev         = tail.prev;
                        tail.prev      = f;
                    }
                    else
                    {
                        elem h = find_elem(a);
                        h.next.prev = f;
                        f.next      = h.next;
                        f.prev      = h;
                        h.next      = f;
                    }
                    g = false;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Неверный ввод");
                }
            }
        }
Пример #7
0
        public elem find_elem(int a)
        {
            int  count = 0;
            elem h     = new elem();

            h = head;
            while (h != tail)
            {
                if (h.data == a)
                {
                    count++;
                    break;
                }
                h = h.next;
            }
            if (count == 0)
            {
                return(nul);
            }
            else
            {
                return(h);
            }
        }
Пример #8
0
 public void print(elem n)
 {
     Console.WriteLine("Значение узла - " + n.data + " Название узла - " + n.name);
 }
Пример #9
0
 public void reset_prev(elem that)
 {
     this.next = that;
 }
Пример #10
0
 public void reset_next(elem that)
 {
     this.next = that;
 }
Пример #11
0
 public elem()
 {
     next = null;
     prev = null;
 }