Skip to content

HaykDavis/push_swap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Задание

Отсортируйте случайный список целых чисел, используя наименьшее количество ходов, 2 стека и ограниченный набор операций.

Вы начинаете с двух пустых стопок: "a" и "b". Вам предоставляется случайный список целых чисел через аргументы командной строки.

Разрешены следующие операции:

sa: swap a - поменять местами первые 2 элемента на вершине стека "a". Ничего не делать, если есть только один элемент или его нет.

sb: swap b - поменять местами первые 2 элемента наверху стека "b". Ничего не делать, если есть только один элемент или его нет.

ss: sa и sb одновременно.

pa: push a - возьмите первый элемент вверху "b" и поместите его вверху "a". Ничего не делать, если "b" пусто.

pb: push b - возьмите первый элемент вверху "a" и поместите его вверху "b". Ничего не делать, если "a" пусто.

ra: rotate a - сдвинуть вверх все элементы стека "a" на 1. Первый элемент становится последним.

rb: rotate b - сдвинуть вверх все элементы стека "b" на 1. Первый элемент становится последним.

rr: ra и rb одновременно.

rra: reverse rotate a - сдвинуть вниз все элементы стека "a" на 1. Последний элемент становится первым.

rrb: reverse rotate b - сдвинуть вниз все элементы стека "b" на 1. Последний элемент становится первым.

rrr: rra и rrb одновременно.

В конце стек "b" должен быть пустым, а все целые числа должны находиться в стеке "a", отсортированном в порядке возрастания.

Средние значения, выдаваемые алгоритмом

100 элементов: 580 операций

500 элементов: 5050 операций

Пример сортировки

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors