/// <summary> /// Сортування за типом вагона /// </summary> static void Sort() { Stack First = new Stack(); Stack Second = new Stack(); Carriage carriage = Train.GetLast(); while (carriage != null) { if (carriage.GetTypeValue() == "Пасажирський") { First.Add(carriage.GetTypeValue()); First.GetLast().SetNumber(carriage.GetNumber()); } else if (carriage.GetTypeValue() == "Вантажний") { Second.Add(carriage.GetTypeValue()); Second.GetLast().SetNumber(carriage.GetNumber()); } carriage = carriage.Previous; } Console.WriteLine("\nПерший потяг \"Пасажирський\":\n"); PrintStack(First); Console.WriteLine("\nДругий потяг \"Вантажний\":\n"); PrintStack(Second); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~"); }
/// <summary> /// Виведення елементів стека /// </summary> /// <param name="stack">Стек для отримання данних</param> static void PrintStack(Stack stack) { if (stack != null) { Carriage carriage = stack.GetLast(); while (carriage != null) { Console.WriteLine("//" + carriage.GetNumber() + " " + carriage.GetTypeValue() + "//"); carriage = carriage.Previous; } } }