Skip to content

Latest commit

 

History

History
90 lines (75 loc) · 2.8 KB

README.md

File metadata and controls

90 lines (75 loc) · 2.8 KB

🔗Push_swap

Because Swap_push isn’t as natural.

Push swap projesi etkili bir algoritma projesidir: veriler sıralanmalıdır. Elinizde bir integer array, 2 stack ve bu stackleri manipüle etmek için bir instruction setiniz var.


📝Usage

  1. Repo'yu clone'layın:
git clone https://github.com/fbkeskin/42-push_swap.git
  1. Makefile'ı kullanarak source kodu derleyin:
make

1 executable file oluşmaktadır: push_swap.

  1. Sıralamak istediğiniz sayıları argüman olarak girin ve push_swap binary dosyasını execute ederek programı başlatın:
$>./push_swap 2 1 3 6 5 8
ra
pb
pb
pb
ra
ra
pa
pa
pa
pb
ra
pb
pb
ra
pb
pa
pa
pa
pa
pb
ra
pb
ra
pb
pb
pa
pa
pa
pa
$>./push_swap 7 essek 4 1
Error

Program, sayıları sıralar ve stack manipülasyonu için kullanılan instruction'lar ekrana basılır. Ekranda gördüğünüz instruction'lar argüman listenize uygulandığında küçükten büyüğe doğru sıralanmış bir array elde edersiniz. Argüman olarak integer girilmemesi durumunda error handling ile ekrana hata mesajı basılır.

  1. Farklı argüman listesiyle çalışmak için 3. adımı tekrarlayın.

🔎Instruction Sets

Instructions Descriptions
sa A stack'inin en üstteki iki elemanı birbirileri ile yer değiştirir.
sb B stack'inin en üstteki iki elemanı birbirileri ile yer değiştirir.
ss sa ve sb instructions aynı anda çalıştırılır.
pa B stack'inin en üstündeki elemanı A stack'inin en üstüne koyulur.
pb A stack'inin en üstündeki elemanı B stack'inin en üstüne koyulur.
ra A stack'inin bütün elemanlarını bir yukarı kaydırılır.
rb B stack'inin bütün elemanlarını bir yukarı kaydırılır.
rr ra ve rb instructions aynı anda çalıştırılır.
rra A stack'inin bütün elemanları bir aşağı kaydırılır.
rrb B stack'inin bütün elemanları bir aşağı kaydırılır.
rrr rra ve rrb instructions aynı anda çalıştırılır.