Skip to content

This project will make you sort data on a stack, with a limited set of instructions, using the lowest possible number of actions. To succeed you’ll have to manipulate various types of algorithms and choose the most appropriate solution (out of many) for an optimized data sorting.

Notifications You must be signed in to change notification settings

fbkeskin/42-push_swap

Repository files navigation

🔗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.

About

This project will make you sort data on a stack, with a limited set of instructions, using the lowest possible number of actions. To succeed you’ll have to manipulate various types of algorithms and choose the most appropriate solution (out of many) for an optimized data sorting.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published