public void Main(string[] args) { Random rand = new Random(); int sum = 0; List <int> numbers = new List <int>() { 1, 2, 3, 4, 5, 6, 7, 8 }; //numbers.Insert(8, 9); //numbers.Insert(0, 0); //numbers.Insert(5, 54); //numbers.RemoveAt(0); //numbers.RemoveAt(9); //numbers.RemoveAt(4); //foreach (int i in numbers) //{ // sum += i; //} //Console.Write("The sum of elements: "); //Console.WriteLine(sum); //int z = 5; //foreach (int s in numbers) //{ // if (s == z) // { // Console.Write("Index of this element : "); // Console.WriteLine(numbers.IndexOf(s)); // } //} const int n = 1000; int[] Array1 = new int[n]; for (int kp = 0; kp < n; kp++) { Array1[kp] = rand.Next(100); } Stopwatch stopwatch1 = new Stopwatch(); stopwatch1.Start(); for (int time = 8, mas = 0; time < 1008; time++, mas++) { numbers.Insert(time, Array1[mas]); } stopwatch1.Stop(); Console.WriteLine("Waisted time with insert in List : {0}", stopwatch1.Elapsed); ///////////////////////////////////////////////////////////// Stopwatch stopwatch4 = new Stopwatch(); stopwatch4.Start(); int zam = 0; for (int yay = 0; yay < 1000; yay++) { numbers.RemoveAt(zam); //numbers.RemoveAll; numbers.Insert(zam, rand.Next(100)); zam++; } stopwatch4.Stop(); Console.WriteLine("Waisted time with substitute in List : {0}", stopwatch4.Elapsed); ///////////////////////////////////////////////////////////// Stopwatch stopwatch2 = new Stopwatch(); stopwatch2.Start(); foreach (int i in numbers) { sum += i; } Console.Write("The sum of elements: "); Console.WriteLine(sum); stopwatch2.Stop(); Console.WriteLine("Waisted time with counting sum in List : {0}", stopwatch2.Elapsed); ///////////////////////////////////////////////////////////// int z = rand.Next(100); Stopwatch stopwatch3 = new Stopwatch(); stopwatch3.Start(); int ident = 1; foreach (int ss in numbers) { if (ss == z) { Console.Write("The number (Index) for this elements : "); Console.WriteLine(/*numbers.IndexOf(z)*/ ident); } ident++; } stopwatch3.Stop(); Console.WriteLine("Waisted time with finding index in List : {0}", stopwatch3.Elapsed); //////////////////////////////////////////////////////////////// int ll = 0; Stopwatch stopwatch5 = new Stopwatch(); stopwatch5.Start(); for (int s = 0; s < 1000; s++) { numbers.Remove(ll); ll++; } stopwatch5.Stop(); Console.WriteLine("Waisted time with delete all elements in List : {0}", stopwatch5.Elapsed); ///////////////////////////////////////////////////////////// LinkedList <int> num = new LinkedList <int>(); const int j = 1000; int[] Array2 = new int[j]; for (int kp = 0; kp < j; kp++) { Array2[kp] = rand.Next(100); } Stopwatch stopwatch6 = new Stopwatch(); stopwatch6.Start(); for (int time = 0; time < 1000; time++) { num.AddFirst(Array2[time]); } stopwatch6.Stop(); Console.WriteLine("Waisted time with insert in DoubleLinkedList : {0}", stopwatch6.Elapsed); /////////////////////////////////////////////////////////////////////// Stopwatch stopwatch7 = new Stopwatch(); stopwatch7.Start(); //int zamt = 0; for (int yay = 0; yay < 1000; yay++) { num.RemoveFirst(); //numbers.RemoveAll; num.AddFirst(rand.Next(100)); } stopwatch7.Stop(); Console.WriteLine("Waisted time with substitute in DoubleLinkedList : {0}", stopwatch7.Elapsed); //////////////////////////////////////////////////////////////////////// Stopwatch stopwatch8 = new Stopwatch(); stopwatch8.Start(); int inter = 0; foreach (int i in num) { inter += i; } Console.Write("The sum of elements in DoubleLinkedList: "); Console.WriteLine(inter); stopwatch8.Stop(); Console.WriteLine("Waisted time with counting sum in DoubleLinkedList : {0}", stopwatch8.Elapsed); ////////////////////////////////////////////////////////////////////////// int za = rand.Next(100); Stopwatch stopwatch9 = new Stopwatch(); stopwatch9.Start(); int id = 0; foreach (int s in num) { id++; if (s == za) { Console.Write("The number (Index) for this elements : "); Console.WriteLine(/*numbers.IndexOf(z)*/ id); } } stopwatch9.Stop(); Console.WriteLine("Waisted time with finding index in DoubleLinkedList : {0}", stopwatch9.Elapsed); /////////////////////////////////////////////////////////////////////////// Stopwatch stopwatch10 = new Stopwatch(); stopwatch10.Start(); for (int s = 0; s < 1000; s++) { num.RemoveFirst(); } stopwatch10.Stop(); Console.WriteLine("Waisted time with delete all elements in List : {0}", stopwatch10.Elapsed); //stopwatch6.Stop(); //num.AddFirst(2); //num.AddFirst(4); //num.AddFirst(7); //num.AddFirst(7); //num.AddLast(1); //num.AddAfter(num.First, 3); //num.RemoveFirst(); //num.RemoveLast(); //num.Remove(3); // int wtf = 0; //int iter = 0, search = 4; //foreach (int k in num) //{ // wtf += k; // if (search == k) // { // Console.Write("Index of this number (Linked List): "); // Console.WriteLine(++iter); // } // iter++; //} // Console.Write("The sum of elements LinkedList: "); // Console.WriteLine(wtf); ///////////////////////////////////////////////////////////////// CircularLinkedList <string> circularList = new CircularLinkedList <string>(); const int ns = 1000; int[] Array3 = new int[ns]; for (int kp = 0; kp < n; kp++) { Array3[kp] = rand.Next(100); } Stopwatch stopwatch11 = new Stopwatch(); stopwatch11.Start(); for (int time = 0; time < 1000; time++) { var zs = Convert.ToString(Array3[time]); circularList.Add(zs); } stopwatch11.Stop(); Console.WriteLine("Waisted time with insert in CircleDoubleLinkedList : {0}", stopwatch11.Elapsed); ////////////////////////////////////////////////////////////////////////// Stopwatch stopwatch14 = new Stopwatch(); stopwatch14.Start(); for (int time = 0; time < 1000; time++) { var zs = Convert.ToString(Array3[time]); circularList.Delete(); circularList.Add(zs); } stopwatch14.Stop(); Console.WriteLine("Waisted time with substitushion in CircleDoubleLinkedList : {0}", stopwatch14.Elapsed); ////////////////////////////////////////////////////////////////////////// int suma = 0; Stopwatch stopwatch12 = new Stopwatch(); stopwatch12.Start(); foreach (string yu in circularList) { suma += Convert.ToInt16(yu); } stopwatch12.Stop(); Console.WriteLine("Wasted time with counting the sum in CircleDoubleLinkedList : {0}", stopwatch12.Elapsed); /////////////////////////////////////////////////////////////////////////// var wp = Convert.ToString(rand.Next(100)); int index = 0; Stopwatch stopwatch13 = new Stopwatch(); stopwatch13.Start(); foreach (string yu in circularList) { if (Convert.ToInt16(yu) == Convert.ToInt16(wp)) { Console.WriteLine("Circle Linked List : index of choosen element is : "); Console.WriteLine(index); } else { index++; } } stopwatch13.Stop(); Console.WriteLine("Wasted time with finding index of elements in CircleDoubleLinkedList : {0}", stopwatch13.Elapsed); ////////////////////////////////////////////////////////////////////////////// Stopwatch stopwatch15 = new Stopwatch(); stopwatch15.Start(); for (int time = 0; time < 1000; time++) { var zs = Convert.ToString(Array3[time]); circularList.Delete(); } stopwatch15.Stop(); Console.WriteLine("Waisted time to delete all elements in CircleDoubleLinkedList : {0}", stopwatch15.Elapsed); //circularList.Add("6"); //circularList.Add("7"); //circularList.Add("8"); //circularList.Add("9"); //circularList.Add("10"); //circularList.Add("11"); //circularList.Add("12"); //circularList.Add("13"); //circularList.Remove("6"); //circularList.First(); //circularList.Remove("13"); //circularList.Add_Last("1"); //circularList.Remove("1"); // circularList.Add_First("78"); //foreach (var item in circularList) //{ // Console.WriteLine(item); //} // string wp = "10"; //int index = 0; //int suma = 0; //foreach (string yu in circularList) //{ // suma += Convert.ToInt16(yu); // if (Convert.ToInt16(yu) == Convert.ToInt16(wp)) // { // Console.WriteLine("Circle Linked List : index of choosen element is : "); // Console.WriteLine(index); // } // else { // index++; // } //} // Console.Write("Circle Linked List : suma : "); // Console.WriteLine(suma); Console.Clear(); DoubleLinkedList <int> symon = new DoubleLinkedList <int>(); Console.Write("Press <Enter> to exit... "); while (Console.ReadKey().Key != ConsoleKey.Enter) { } }
/// <summary> /// Тест пройден! /// </summary> private static void TestCircularLinkedList() { CircularLinkedList <int> list = new CircularLinkedList <int>(); for (int i = 0; i < 5; i++) { list.Add(i); } foreach (var item in list) { Console.WriteLine(item); } Console.WriteLine("Вывожу от 0 до 5: "); for (int i = 0; i < 5; i++) { Console.WriteLine(list[i]); } Console.WriteLine("Удаляй первый третий и последний элементы: "); list.Remove(0); list.Remove(2); list.Remove(0); foreach (var item in list) { Console.WriteLine(item); } Console.WriteLine("\nПрибавляю к каждому + 3 и вывожу: "); for (int i = 0; i < list.Length; i++) { list[i] += 3; Console.WriteLine(list[i]); } Console.WriteLine("Добавляю два элемента (4 и 5):"); list.Add(4); list.Add(5); foreach (var item in list) { Console.WriteLine(item); } Console.WriteLine("\nДобавляю ко всем +3 и вывожу их с помощью цикла:"); for (int i = 0; i < 4; i++) { list[i] += 3; Console.WriteLine(list[i]); } Console.WriteLine("\nНачинается тест метода удаления каждого 3 элемента.\nДобавляю 5 элементов к списку (от 0 до 5):"); for (int i = 0; i < 5; i++) { list.Add(i); } foreach (var item in list) { Console.WriteLine(item); } Console.WriteLine("\nУдаляю: \n"); list.RemoveEveryThirdEl(); Console.WriteLine("Вывод: "); foreach (var item in list) { Console.WriteLine(item); } Console.WriteLine("Вывод с помощью цикла: "); for (int i = 0; i < list.Length; i++) { Console.WriteLine(list[i]); } Console.WriteLine("Вывод с помощью индексаторов (должно было остаться 2 числа): "); Console.WriteLine(list[0]); Console.WriteLine(list[1]); }