שאלה במחסניות(java )

amir139

New member
שאלה במחסניות(java )

אני ניסיתי לפתור את זה בדרך של הפיכת המחסניות S1 ו S2 בעזרת S3 כך שיהייו מהקטן לגדול ואז לעשות להשוות כל פעם את השניים שנמצאים בראש המחסנית ומי שהקטן מביניהם(הפעולה top) הולך ל S3 (דרך אגב הפעולה top גם לוקחת לנו שני פעולות כי היישום שלה זה פעולת push אחת ו פעולת Pop אחת) ואז הזה שנאר מחכה לאיבר שגדול ממנו במחסנית השנייה כדי שהוא עצמו יוכל להיכנס ל S3 ואז צריך להפוך את ה S3 כך שהוא יהיה בעצמו ילך מהקטן בתחתית לגדול ביותר בראש וכל התהליך הזה לוקח הרבה יותר מ 4n-4
 
נסיון

שינוי הסדר של 2 המחסניות מההתחלה הוא שגוי לדעתי.. איך הצלחת גם להפוך סדר של מחסנית רק בעזרת מחסנית עזר אחת? הרי יש לך 2 לא ריקות (לא חייב מלאות) ואחת ריקה.. לא חשוב.. לפי דעתי צריך להעביר את 2 המחסניות למחסנית אס 3 שתמויין בסדר הפוך ממה שצריך... ואז להוציא איבר איבר ולהכניס למחסנית אחרת.. ואז פשוט שאס 3 יצביע על המחסנית האחרת.. אגב העברת כל האיברים למחסנית אחת זה אן.. אבל במידה ולא רוצים שאס 3 ואס 2 נגיד יצביעו על אותה מחסנית, אז תעביר מאס 3 לאס 1, מאס 2 ל3, ומ3 ל2.. בגלל שמספר התמורות הוא אי זוגי, סדר המחסנית ישתנה.. 3 העברות זה 3אן.. ביחד 4 אן.. אז בכל מקרה זה יוצא טוב.. בהצלחה
 
למעלה