static void Main(string[] args) { DoubleLinkedList <string> linkedList = new DoubleLinkedList <string>(); // добавление элементов linkedList.AddLast("Audi"); linkedList.AddLast("BMW"); linkedList.AddLast("KIA"); linkedList.AddLast("Hyundai"); linkedList.AddLast("Honda"); linkedList.AddLast("Mercedes"); linkedList.AddFirst("Subaru"); // Добавление элемента в произволную позицию Console.WriteLine("Введите желаемый индекс для вставки элемента"); linkedList.AddInside("Opel", Convert.ToInt32(Console.ReadLine())); // вывод списка foreach (var item in linkedList) { Console.WriteLine(item); } // удаление элемента по индексу Console.WriteLine("Введите индекс удаляемого элемента"); linkedList.RemoveAt(Convert.ToInt32(Console.ReadLine())); foreach (var item in linkedList) { Console.WriteLine(item); } // Поиск элемента по желаемому индексу Console.WriteLine("Введите индекс желаемого элемента"); linkedList.FindIdByIndex(Convert.ToInt32(Console.ReadLine())); // Количество элементов в спике linkedList.GetCount(); // Элементы списка с длиной названия < 4 символов var list = linkedList.Where(n => n.Length < 4).Select(n => n); Console.WriteLine("Элементы списка с длиной названия < 4 символов"); foreach (var item in list) { Console.WriteLine(item); } // Сортировка элементов по длине названия var sort = linkedList.OrderBy(item => item.Count()).Select(item => item); Console.WriteLine("Сортировка элементов по длине названия:"); foreach (var item in sort) { Console.WriteLine(item); } Console.ReadLine(); }
static void Main(string[] args) { const int size = 5; int[] vec = new int[size] { 4, 1, 5, 7, 2 }; DoubleLinkedList <int> list = new DoubleLinkedList <int>(); list.AddFirst(vec[1]); list.AddLast(vec[2]); list.AddLast(vec[3]); list.AddFirst(vec[0]); list.AddLast(vec[4]); /* ***** */ Console.WriteLine("\n Input data Test\n-------------------\n"); IDoubleLinkedListNode <int> Temp = list.First; for (int i = 0; i < size; i++) { Assert.AreEqual(vec[i], Temp.Value); Console.WriteLine(" Pos: {0,2}, Value: {1,2}\n", i, Temp.Value); Temp = Temp.Next; } /* ***** */ Console.WriteLine("\n Reverse Test\n----------------\n"); list.Reverse(); Temp = list.First; for (int i = size - 1; i >= 0; i--) { Assert.AreEqual(vec[i], Temp.Value); Console.WriteLine(" Pos: {0,2}, Value: {1,2}\n", (size - 1) - i, Temp.Value); Temp = Temp.Next; } }
public static void Main(string[] args) { //• void AddFirst(int element) – adds an element at the beginning of the collection //• void AddLast(int element) – adds an element at the end of the collection //• int RemoveFirst() – removes the element at the beginning of the collection //• int RemoveLast() – removes the element at the end of the collection //• void ForEach() – goes through the collection and executes a given action //• void Clear() – delete all elements in collection //• int[] ToArray() – returns the collection as an array var doubleLinkedList = new DoubleLinkedList <int>(); doubleLinkedList.AddFirst(1); doubleLinkedList.AddFirst(2); doubleLinkedList.AddFirst(3); foreach (var item in doubleLinkedList) { Console.WriteLine(item); } }
static void Main(string[] args) { DoubleLinkedList <string> linkedList = new DoubleLinkedList <string>(); linkedList.Add("Bob"); linkedList.Add("Bill"); linkedList.AddFirst("Kate"); foreach (var item in linkedList) { Console.WriteLine(item); } linkedList.Remove("Bill"); foreach (var t in linkedList.BackEnumerator()) { Console.WriteLine(t); } }
static void Main(string[] args) { IDoubleLinkedList <EquatbleObject> linkedList = new DoubleLinkedList <EquatbleObject>(); //test Add() method for (int i = 0; i < 10; i++) { var obj = new EquatbleObject(i); linkedList.Add(obj); } linkedList.Clear(); //test AddFirst() method for (int i = 0; i < 10; i++) { var obj = new EquatbleObject(i); linkedList.AddFirst(obj); } linkedList.Clear(); //test RemoveFirst() method for (int i = 0; i < 3; i++) { var obj = new EquatbleObject(i); linkedList.Add(obj); } linkedList.RemoveFirst(); linkedList.Clear(); //test RemoveLast() method for (int i = 0; i < 3; i++) { var obj = new EquatbleObject(i); linkedList.Add(obj); } linkedList.RemoveLast(); linkedList.Clear(); //test GetEnumerator() method for (int i = 0; i < 10; i++) { var obj = new EquatbleObject(i); linkedList.Add(obj); } var enumerator = linkedList.GetEnumerator(); while (enumerator.MoveNext()) { var obj = enumerator.Current as EquatbleObject; Console.WriteLine(obj.ObjectValue.ToString()); } //test Contains() method linkedList.Clear(); linkedList.Add(new EquatbleObject(1)); linkedList.Add(new EquatbleObject(2)); linkedList.Add(new EquatbleObject(3)); Console.WriteLine(linkedList.Contains(new EquatbleObject(2))); Console.WriteLine(linkedList.Contains(new EquatbleObject(5))); //test Remove() method linkedList.Remove(new EquatbleObject(1)); Console.WriteLine(linkedList.Contains(new EquatbleObject(1))); linkedList.AddFirst(new EquatbleObject(1)); linkedList.Remove(new EquatbleObject(2)); enumerator = linkedList.GetEnumerator(); while (enumerator.MoveNext()) { var obj = enumerator.Current as EquatbleObject; Console.WriteLine(obj.ObjectValue.ToString()); } linkedList.Remove(new EquatbleObject(3)); linkedList.Remove(new EquatbleObject(1)); Console.ReadLine(); }
public static void Main(string[] args) { DoubleLinkedList <int> lista = new DoubleLinkedList <int>(); int[] niz = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8 }; for (uint i = 0; i < niz.Length; ++i) { if (!lista.Push(niz[i])) { Console.WriteLine("greska"); } } if (!lista.isEmpty()) { Console.WriteLine(lista); } else { Console.WriteLine("Greska"); } /*try { * int tmp = lista.getByIndex(3); * Console.WriteLine(tmp); * while (true) Console.WriteLine(lista.Pop()); * } * catch (System.IndexOutOfRangeException){ * Console.WriteLine("Desio se izlazak iz skupa indeksa"); * } * catch(System.InvalidOperationException){ * Console.WriteLine("Ne moze da se radi Pop() nad praznom listom"); * }*/ if (lista == null) { Console.WriteLine("Lista je null iz nekog razloga"); return; } lista.AddFirst(3); lista.AddFirst(1); //lista.Add(31, 4); Console.WriteLine(lista); lista.Add(2, 1); lista.Add(0, 0); lista.Delete(1); Console.WriteLine(lista); Console.WriteLine(lista.Length); lista.Clear(); Console.WriteLine(lista); lista.Push(1); Console.WriteLine(lista); lista.Clear(); niz = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8 }; for (uint i = 0; i < niz.Length; ++i) { if (!lista.Push(niz[i])) { Console.WriteLine("greska"); } } Console.WriteLine(lista); lista.Update(31, 3); Console.WriteLine(lista); Console.WriteLine(lista.Find(3)); }