Поменять местами первый и последний элементы стека - C# (180639)
Формулировка задачи:
Помогите , как поменять местами первый и последний элемент стека. Причем вводя данные с клавиатуры. Выполнив это задание, не используя массивов
Решение задачи: «Поменять местами первый и последний элементы стека»
textual
Листинг программы
using System;
using System.Collections.Generic;
class Program
{
public static void Main()
{
Stack<string> s = new Stack<string>();
string top;
while (!String.IsNullOrEmpty(top = Console.ReadLine()))
{
s.Push(top);
}
Console.WriteLine(String.Join(" ", s));
Stack<string> r = new Stack<string>();
top = null;
while (s.Count != 0)
{
if (top == null)
{
top = s.Pop();
}
else
{
r.Push(s.Pop());
}
}
s.Push(top);
top = r.Pop();
while (r.Count != 0)
{
s.Push(r.Pop());
}
s.Push(top);
Console.WriteLine(String.Join(" ", s));
}
}