//декремент public static void dec(this MyQueue q) { int[] arr = q.queue.ToArray(); for (int i = 0; i < arr.Length; i++) { arr[i]--; } Queue <int> q_res = new Queue <int>(arr); q.queue = q_res; //return new MyQueue(q_res); }
public static void Main(string[] args) { Console.WriteLine("Start testing"); MyQueue q1 = new MyQueue(); //проверка пустоты очереди if (q1) { Console.WriteLine("Queue is empty"); } else { Console.WriteLine("Queue is not empty"); } //добавляем элемент q1 = q1 + 1; Console.WriteLine("Очередь: " + q1); //еще один элемент q1 = q1 + 2; if (q1) { Console.WriteLine("Queue is empty"); } else { Console.WriteLine("Queue is not empty"); } Console.WriteLine("Очередь: " + q1); // Неявное приведение к int int a = q1; Console.WriteLine("Мощность: " + a); Console.WriteLine("Последний элемент очереди: " + q1.LastElement()); // создаем новую очередь MyQueue q2 = new MyQueue(); q2 = q2 + 3; q2 = q2 + 6; q2 = q2 + 4; Console.WriteLine("Очередь 2: " + q2); // объединяем очереди с сортировкой по убыванию MyQueue q = q1 < q2; Console.WriteLine(q.ToString()); Console.WriteLine("Вложенный класс 1: "); MyQueue.Owner owner = new MyQueue.Owner(1, "Анастасия Томко", "Buiok Soset, Inc."); Console.WriteLine(owner.getInfo()); Console.WriteLine("Вложенный класс 2: "); MyQueue.MyDate date = new MyQueue.MyDate(); Console.WriteLine(date.getDate()); // метод расширения: увеличение в 2 каждого элемента q.x2(); Console.WriteLine("Увеличение общей очереди в 2 раза: " + q); // метод расширения: инкремент q.inc(); Console.WriteLine("Инкремент: " + q); // метод расширения: декремент q.dec(); Console.WriteLine("Декремент: " + q); // метод расширения: сортировка символов в строке string s = "iosnfgbasdfadjknv"; Console.WriteLine("Начальная строка: " + s); s = s.sortChar(); Console.WriteLine("Cтрока после сортировки: " + s); }
// хз что такое "индекс первой точки" в очереди, вообще без понятия, этого метода тут нету // метод расширение, получение последнего элемента очереди public static int LastElement(this MyQueue q) { return(q.queue.Peek()); }