1. Napisz algorytm którego wynikiem będzie stos S', którego elementy będą ułożone w odwrotnej kolejności względem wejściowego stosu S.

1b. Napisz algorytm, którego wynikiem będzie kolejka Q', której elementy będą ułożone w odwrotnej kolejności względem wejściowej kolejki Q.

2. Wejściowa kolejka Q zawiera znaki alfabetu oraz znak #. # oznacza operację kasowania znaku poprzedzającego. Napisz algorytm, który wydrukuje w odpowiedniej kolejności (operacja print) poprawiony ciąg znaków pochodzacy z wejściowej kolejki Q.

Przykład:
wejście: abc#d##e
wyjście:
a
e

3. Dane są dwie kolejki X i Y, których elementy są posortowane.Początki kolejek (front) zawierają elementy najmniejsze. Długości kolejek mogą być różne, także zerowe. Zaproponuj algorytm który elementy z obu kolejek (X i Y) włoży do kolejki Z w taki sposób, aby jej elementy pozostały posortowane.

4. Zaproponuj algorytm, który będzie sprawdzał, czy podany ciąg zbudowany ze znaków '(' lub ')' w postaci klejki Q tworzy poprawne nawiasowanie.

Przykłady poprawnych wejść:
()()(())
((()))

Przykłady błędnych wejść
())())
)(

5. Zaproponuj algorytm, który będzie sprawdzał, czy podany ciąg zbudowany ze znaków '(',')','{','}','[' lub ']' w postaci kolejki Q tworzy poprawne nawiasowanie.

Poprawne:
([{}])
([]{})[{()}]

Niepoprawne:
([)]
{{()]]
{(}