public object Clone() { int i = 1; ListOne <T> clone = new ListOne <T>(); foreach (T value in this) { clone.Add(i, new Point <T>(value)); i++; } return(clone); }
static void CreateCollection(int size) { int i = 0; Random rand = new Random(); double[] arr1 = new double[size]; for (int m = 0; m < arr1.Length; m++) { arr1[m] = (rand.NextDouble() - 0.5) * 100; } l1 = new ListOne <double>(arr1); l2.MakeList(size); string[] arr3 = new string[] { "am", "tt", "yy", "ii", "oo", "aa", "ap", "ac", "ad", "ae", "af", "ag", "ar", "gi", "az" }; tr = new Tree <string>(i, arr3); Engine[] arr4 = new Engine[size]; for (int m = 0; m < arr4.Length; m++) { arr4[m] = eng.MakeRandom(); } stack = new MyStack <Engine>(arr4); }
public MyStack(MyStack <T> c) { StackList = c.StackList; }
public MyStack(T[] arr) { StackList = new ListOne <T>(arr); }
public MyStack(int capacity) { StackList = new ListOne <T>(capacity); }
public MyStack() { StackList = new ListOne <T>(); }
static void Main(string[] args) { Random rand = new Random(); int menu = 10; while (menu != 0) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("1. Однонаправленный список "); Console.WriteLine("2. Двунаправленный список"); Console.WriteLine("3. Дерево"); Console.WriteLine("4. Стек на базе однонаправленного списка"); Console.WriteLine("0.Выход"); Console.ResetColor(); menu = InputMenu(4); CreateCollection(10); Console.WriteLine("Коллекции созданы"); if (menu == 0) { break; } else { int menuNext = 10; switch (menu) { #region task1 case 1: while (menuNext != 0) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("1.Показать коллекцию"); Console.WriteLine("2.Добавить элементы"); Console.WriteLine("3.Удалить элементы"); Console.WriteLine("4.Поиск"); Console.WriteLine("5.Копия"); Console.WriteLine("6.Поверхностная копия"); Console.WriteLine("7.Удалить коллекцию"); Console.WriteLine("8.Длина"); Console.WriteLine("9.Добавить 0 после отрицательных чисел"); Console.WriteLine("0.Назад"); Console.ResetColor(); menuNext = InputMenu(9); if (menuNext == 0) { break; } else { switch (menuNext) { case 1: l1.ShowList(); break; case 2: AddList(); Console.WriteLine("Элементы добавлены"); break; case 3: DeleteList(); Console.WriteLine("Элементы удалены"); break; case 4: SearchList(); break; case 5: ListOne <double> ll1 = (ListOne <double>)l1.Clone(); ll1.ShowList(); break; case 6: ListOne <double> ll2 = (ListOne <double>)l1.ShallowCopy(); ll2.ShowList(); break; case 7: l1.Delete(); l1.ShowList(); break; case 8: Console.WriteLine($"Количество:{l1.Length }"); break; case 9: TaskList(); break; } } } break; #endregion task1 #region task2 case 2: while (menuNext != 0) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("1.Показать коллекции"); Console.WriteLine("2.Добавить элемент"); Console.WriteLine("3.Удалить элемент"); Console.WriteLine("4.Длина"); Console.WriteLine("5.Удалить четные цифры"); Console.WriteLine("0.Назад"); Console.ResetColor(); menuNext = InputMenu(5); if (menuNext == 0) { break; } else { switch (menuNext) { case 1: Console.WriteLine("коллекция:"); l2.ShowList(); break; case 2: AddListTwo(); Console.WriteLine("Элементы добавлены"); break; case 3: DeleteListTwo(); Console.WriteLine("Элементы удалены"); break; case 4: Console.WriteLine($"Количество:{l2.Length() }"); break; case 5: l2.DeleteEven(); l2.ShowList(); break; } } } break; #endregion task2 #region task3 case 3: while (menuNext != 0) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("1.Показать коллекцию"); Console.WriteLine("2.Добавить элемент"); Console.WriteLine("3.Выполнить клонирование"); Console.WriteLine("4.Дерево поиска"); Console.WriteLine("5.Сколько элементов начинаются с заданного символа"); Console.WriteLine("6.Длина"); Console.WriteLine("7.Найти элемент"); Console.WriteLine("0.Назад"); Console.ResetColor(); menuNext = InputMenu(7); if (menuNext == 0) { break; } else { switch (menuNext) { case 1: tr.Show(); break; case 2: AddTree(); Console.WriteLine("Элемент добавлен"); break; case 3: Tree <string> tr2 = (Tree <string>)tr.ShallowCopy(); tr2.Show(); break; case 4: tr.BuildSearch(); tr.Show(); break; case 5: TaskTree(); break; case 6: Console.WriteLine($"Количество:{tr.Length()}"); Console.WriteLine($"Глубиина:{tr.TreeDeep(tr.Root)}"); break; case 7: TreeSearch(); break; } } } break; #endregion task3 #region task4 case 4: while (menuNext != 0) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("1.Показать коллекцию"); Console.WriteLine("2.Добавить элементы"); Console.WriteLine("3.Удалить элементы"); Console.WriteLine("4.Поиск"); Console.WriteLine("5.Копия"); Console.WriteLine("6.Поверхностная копия"); Console.WriteLine("7.Удалить коллекцию"); Console.WriteLine("8.Длина"); Console.WriteLine("0.Назад"); Console.ResetColor(); menuNext = InputMenu(8); if (menuNext == 0) { break; } else { switch (menuNext) { case 1: stack.Show(); break; case 2: AddStack(); Console.WriteLine("Элементы добавлены"); break; case 3: DeleteStack(); Console.WriteLine("Элементы удалены"); break; case 4: stack.Search(CreateEng()); break; case 5: MyStack <Engine> s2 = (MyStack <Engine>)stack.Clone(); s2.Show(); break; case 6: MyStack <Engine> s3 = stack.ShallowCopy(); s3.Show(); break; case 7: stack.Delete(); stack.Show(); break; case 8: Console.WriteLine($"Количество:{stack.Count() }"); break; } } } break; #endregion task4 } } } //Random rand = new Random(); //ListTwo<int> l = new ListTwo<int>(); //l.MakeList(6); //Console.WriteLine(); //l.ShowList(); //l.Delete(3, 2); //Console.WriteLine(); //l.ShowList(); //l.Add(1, 4); //Console.WriteLine(); //l.ShowList(); //Console.WriteLine(); //l.DeleteEven(); //Console.WriteLine(); //l.ShowList(); //double[] arr = new double[8]; //for(int m=0; m<arr.Length;m++) //{ // arr[m] = (rand.NextDouble() - 0.5) * 100; //} //ListOne<double> l1 = new ListOne<double>(arr); //Console.WriteLine(); //l1.ShowList(); //Console.WriteLine(); //Point<double> p = new Point<double>(-0.5); //l1.Add(7, p); //Console.WriteLine(); //l1.ShowList(); //Console.WriteLine(); //l1.Delete(5, 1); //l1.ShowList(); //int i = 0; //bool[] mas = new bool[l1.Length]; //foreach(double elem in l1) //{ // if(elem<0) // { // mas[i] = true; // } // i++; //} //for(int j= mas.Length-1; j>=0;j--) //{ // if (mas[j]) // { // Point<double> zero = new Point<double>(0); // l1.Add(j+2 , zero); // } //} //Console.WriteLine(); //l1.ShowList(); //Console.WriteLine(); //ListOne<double> ll1 = (ListOne<double>)l1.Clone(); //ll1.ShowList(); //Console.WriteLine(); //ll1.Delete().ShowList(); //Console.WriteLine(); //string[] mas = new string[] { "am", "tt", "yy", "ii", "oo", "aa", "ap", "ac", "ad", "ae", "af", "ag", "ar", "gi", "az" }; //int i; //Tree<string> tr = new Tree<string>(mas); //PointTree<string> p = new PointTree<string>("kk"); //tr.Show(); //Console.WriteLine("___________"); //tr = new Tree<string>(0, mas); //tr.Show(); //Console.WriteLine("___________"); //tr.BuildSearch(); //tr.Show(); //i = 0; //string first = "a"; //foreach (string str in tr) //{ // if (str.Substring(0, 1) == first) i++; //} //Console.WriteLine(i); }
public ListOne(ListOne <T> list) { Beg = list.Beg; }