Subject

Π’ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€:

https://github.com/o-reo/push_swap_visualizer

pyviz.py ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΡƒ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

python3 pyviz.py `ruby -e "puts (-200..200).to_a.shuffle.join(' ')"`

ВСстСры:

https://github.com/laisarena/push_swap_tester

https://github.com/LeoFu9487/push_swap_tester

Step 1: НайдитС максимальноС, минимальноС ΠΈ ΠΌΠ΅Π΄ΠΈΠ°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² A ΠΈ помСститС всС, ΠΊΡ€ΠΎΠΌΠ΅ Π½ΠΈΡ…, Π² стСк B.
Step 2: Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ stack A.
Step 3: НайдитС X Π² B, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡ…Π½ΡƒΡ‚ΡŒ Π΅Π³ΠΎ Π² A, Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Ρ порядок сортировки.
Step 4: Push X into stack A.
Step 5: Если стСк B Π½Π΅ пуст, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΡˆΠ°Π³Ρƒ 3.
Step 6: Π‘Π΄Π²ΠΈΠ½ΡŒΡ‚Π΅ всС элСмСнты стСка A, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.