Push Swap, argüman olarak integer değer aralığında sayılar alıp bunları mümkün olan en az adımda sıralamayı amaçlayan bir projedir. Bu sıralama işlemi için argüman olarak alınan sayıları bir stack(Stack A) olarak tutar ve bu stackten ayrı olarak yardımcı bir stack(Stack B) kullanır. Stack’lerde bulunan sayıların sırasını değiştirmek için yalnızca, pek çok programlama dilinde mevcut olan bir dizi operasyonel hamleden faydalanır. Bunlar; SA(A’daki ilk iki elemanın yerini değiştirir), SB(A’daki ilk iki elemanın yerini değiştirir), SS(SA ve SB aynı anda uygular), PA(A’dan B’ye ilk elemanı pushlar), PB(B’den A’ya ilk elemanı pushlar), RA(A’daki bütün elemanları bir yukarı kaydırır), RB(B’deki bütün elemanları bir yukarı kaydırır), RR(RA ve RB aynı anda uygular), RRA(A’daki elemanları bir aşağı kaydırır), RRB(B’deki elemanları bir aşağı kaydırır), RRR(RRA ve RRB aynı anda uygular). Bu hamlelerin uygun olanlarını sayılar sıralı, stack A da bulunacak şekilde uygular ve hamleleri standart output’a yazar.
UCYLMZ/PUSH_SWAP
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|