Witam. Mam następujący problem: Potrzebuje napisać algorytm (w C), który będzie sortował wprowadzone liczby. Ma on działać w oparciu o dwie operacje: przeniesienie ostatniego elementu na początek oraz przeniesienie trzeciego elementu na początek. Dodatkowo jest powiedziane, że nie zawsze jest możliwe posortowanie tą metodą. Myślę, że z napisaniem programu obsługujący ten algorytm nie będę miał problemu jednak nad algorytmem zastanawiałem się już długo i nic mi nie wyszło.
Poniżej przykład operacji jakie może wykonać algorytm:
przykładowe liczby:
4 2 5 6 1
przesunięcie ostatniego na pierwsze:
1 4 2 5 6
przesunięcie trzeciego na pierwsze:
2 1 4 5 6
i stosujące takie kombinacje trzeba posortować liczby lub napisać że nie da się posortować.
Jeżeli ktoś miałby jakiś pomysł to będę wdzięczny za pomoc.
Pozdrawiam.