Rozważmy następujący nieuporządkowany ciąg liczb:
3 77 11 98 73 74 2 32 83 48 30 0 60 4 19 9 57 22 53 59oraz cztery możliwe sposoby jego uporządkowania.
- Rosnąco:
0 2 3 4 9 11 19 22 30 32 48 53 57 59 60 73 74 77 83 98
- Malejąco:
98 83 77 74 73 60 59 57 53 48 32 30 22 19 11 9 4 3 2 0
- Najpierw liczby parzyste rosnąco, następnie liczby nieparzyste malejąco:
0 2 4 22 30 32 48 60 74 98 83 77 73 59 57 53 19 11 9 3
- Najpierw liczby nieparzyste rosnąco, następnie liczby parzyste malejąco:
3 9 11 19 53 57 59 73 77 83 98 74 60 48 32 30 22 4 2 0
Napisz program, który wczyta ze standardowego wejścia ciąg liczb ustalonej długości, a następnie posortuje go w wymaganym porządku.
WejściePierwszy wiersz wejścia zawiera liczbę naturalną 0<N<100000. Drugi wiersz wejścia zawiera ciąg N liczb naturalnych rozdzielonych pojedynczymi spacjami. Trzeci wiersz wejścia zawiera liczbę 0<P<5 określającą porządek sortowania.
WyjścieNa wyjściu program powinien wydrukować wczytany ciąg liczb (rozdzielonych pojedynczymi spacjami) posortowany według porządku określonego za pomocą P.
Przykładowe wejście:20 3 77 11 98 73 74 2 32 83 48 30 0 60 4 19 9 57 22 53 59 3Przykładowe wyjście:
0 2 4 22 30 32 48 60 74 98 83 77 73 59 57 53 19 11 9 3
Uwaga: Przedstawione rozwiązanie powinno wykorzystywać jedną funkcję sortującą. Porządek sortowania powinien być ustalany za pomocą parametru będącego wskaźnikiem do funkcji porównującej pojedyncze elementy.