Ejemplo n.º 1
0
 public void AddBefore(Person value, LinkedListItem point)
 {
     if (Head == null)
         AddFirst(value);
     else
     {
         var current = new LinkedListItem {Data = value};
         current.Prev = point.Prev;
         point.Prev.Next = current;
         current.Next = point;
         point.Prev = current;
     }
 }
Ejemplo n.º 2
0
 public void AddLast(Person value)
 {
     if (Head == null)
     {
         Head = new LinkedListItem {Data = value};
         Tail = Head;
     }
     else
     {
         Tail.Next = new LinkedListItem {Data = value, Prev = Tail};
         Tail = Tail.Next;
     }
     Count++;
 }
Ejemplo n.º 3
0
 public void AddFirst(Person value)
 {
     if (Head == null)
     {
         Head = new LinkedListItem { Data = value };
         Tail = Head;
     }
     else
     {
         Head.Prev = new LinkedListItem {Data = value, Next = Head};
         Head = Head.Next;
     }
     Count++;
 }
Ejemplo n.º 4
0
 public static void AddMenu()
 {
     var a = new Person();
     Console.WriteLine("Введите имя");
     a.Name = Console.ReadLine();
     Console.WriteLine("Возраст:");
     a.Age = int.Parse(Console.ReadLine());
     Console.WriteLine("Рост:");
     a.Height = int.Parse(Console.ReadLine());
     Console.WriteLine("Вес:");
     a.Weight = int.Parse(Console.ReadLine());
     bool menu = true;
     int age;
     while (menu)
     {
         Console.WriteLine("Добавить в \n1. Начало\n2.Конец\n3.После элемента...\n4.До элемента...");
         char ch = Console.ReadLine()[0];
         switch (ch)
         {
             case '1':
                 myList.AddFirst(a);
                 menu = false;
                 break;
             case '2':
                 myList.AddLast(a);
                 menu = false;
                 break;
             case '3':
                 Console.WriteLine("Введите возраст человека, после которого вы хотите добавить элемент");
                 age = int.Parse(Console.ReadLine());
                 myList.AddAfter(a, myList.FindInt("age", age));
                 menu = false;
                 break;
             case '4':
                 Console.WriteLine("Введите возраст человека, перед которым вы хотите добавить элемент");
                 age = int.Parse(Console.ReadLine());
                 myList.AddBefore(a, myList.FindInt("age",age));
                 menu = false;
                 break;
             default:
                 Console.WriteLine("Неправильный ввод, попробуйте ещё раз");
                 break;
         }
     }
 }
Ejemplo n.º 5
0
 private void Swap(Person a, Person b)
 {
     Person copy = a;
     a = b;
     b = copy;
 }
Ejemplo n.º 6
0
 public Person[] ToArray()
 {
     Person[] arr = new Person[Count];
     LinkedListItem current = Head;
     int i = 0;
     while (current != null)
     {
         arr[i] = current.Data;
         current = current.Next;
         i++;
     }
     return arr;
 }
Ejemplo n.º 7
0
 public bool IsEqual(Person a, Person b)
 {
     return ((a.Age == b.Age) && (a.Height == b.Height) && (a.Weight == b.Weight) && (a.Name == b.Name))
                ? true
                : false;
 }