private static Queue <int> SortQueue(Queue <int> input) // 1 creciente, 0 decreciente { Queue <int> q2 = new Queue <int>(); foreach (int i in input.OrderBy(x => x)) { q2.Enqueue(i); } return(q2); }
static void Main(string[] args) { Console.Title = "Ejercicio Nro 27"; List <int> lista = new List <int>(); List <int> listaPositivos = new List <int>(); List <int> listaNegativos = new List <int>(); Queue <int> queue = new Queue <int>();//FIFO first in first out Queue <int> queuePositivos = new Queue <int>(); Queue <int> queueNegativos = new Queue <int>(); Stack <int> stack = new Stack <int>();//LIFO last in first out Stack <int> stackPositivos = new Stack <int>(); Stack <int> stackNegativos = new Stack <int>(); Random numero = new Random(); int i; for (i = 0; i < 20; i++) { int aux = numero.Next(-100, 100); if (aux != 0) { lista.Add(aux); queue.Enqueue(aux); stack.Push(aux); if (aux > 0) { listaPositivos.Add(aux); queuePositivos.Enqueue(aux); stackPositivos.Push(aux); } else { listaNegativos.Add(aux); queueNegativos.Enqueue(aux); stackNegativos.Push(aux); } } else { i--; } } Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Primera lista. "); foreach (int num in lista) { Console.WriteLine(num); } listaPositivos.Sort(); listaPositivos.Reverse(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("\nLista positivos ordenados decreciente. "); foreach (int num in listaPositivos) { Console.WriteLine(num); } listaNegativos.Sort(); Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\nLista negativos ordenados creciente. "); foreach (int num in listaNegativos) { Console.WriteLine(num); } Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\nPrimera queue. "); foreach (int num in lista) { Console.WriteLine(num); } queuePositivos.OrderByDescending(q => q); //listaPositivos.Reverse(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("\nQueue positivos ordenados decreciente. "); foreach (int num in listaPositivos) { Console.WriteLine(num); } queueNegativos.OrderBy(q => q); //listaNegativos.Sort(); Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\nQueue negativos ordenados creciente. "); foreach (int num in listaNegativos) { Console.WriteLine(num); } Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\nPrimer stack. "); foreach (int num in lista) { Console.WriteLine(num); } stackPositivos.OrderBy(s => s); //listaPositivos.Sort(); //listaPositivos.Reverse(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("\nStack positivos ordenados decreciente. "); foreach (int num in listaPositivos) { Console.WriteLine(num); } stackNegativos.OrderByDescending(s => s); //listaNegativos.Sort(); Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine("\nStack negativos ordenados creciente. "); foreach (int num in listaNegativos) { Console.WriteLine(num); } Console.ReadKey(); }