public elem(int inf, string f) { name = f; data = inf; next = null; prev = null; }
public void print_all() { elem h = new elem(); h = head.next; while (h != tail) { print(h); h = h.next; } }
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; }
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; } }
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("Неверный ввод"); } } }
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("Неверный ввод"); } } }
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); } }
public void print(elem n) { Console.WriteLine("Значение узла - " + n.data + " Название узла - " + n.name); }
public void reset_prev(elem that) { this.next = that; }
public void reset_next(elem that) { this.next = that; }
public elem() { next = null; prev = null; }