דף 1 מתוך 1

מבחן 2007 סמסטר א' מועד ב'

נשלח: 09:16 20/01/2010
על ידי mei
בשאלה 1 , סעיף א' :
למה בתשובה זה כמו שרשום?
אפשר לעשות גם ככה-
if m_spq==null
return false

?

Re: מבחן 2007 סמסטר א' מועד ב'

נשלח: 09:55 20/01/2010
על ידי mei
ושאלה נוספת-
בסעיף ב':
אחרי ה- ELSE, כשמכניסים את האיבר חזרה לתור, למה צריך לצאת מהלולאה?
הוא הרי נכנס חזרה לתור וצריך להמשיך כי לפני האיבר שנכנס יכול להיות איברים קטנים ממנו בסדר העדיפויות...
וכשיוצאים מהלולאה, למה מכניסי את ה-CDATA בנפרד?

Re: מבחן 2007 סמסטר א' מועד ב'

נשלח: 12:22 20/01/2010
על ידי TA_Yoni
1. שים לב כי באתחול של התור בבנאי נוצרת מחסנית עם הבנאי ללא פרמטרים של המחסנית. כבר בשלב הזה m_spq!=null . בנוסף תחשוב על התור שלך אחרי שהכנסת X איברים והוצאת ממנו X איברים - הוא אינו NULL אך עם זאת הוא ריק.

2. בכל שלב המחסנית ממוינת : נניח כי במחסנית יש ---> 1 3 5 7 ( כלומר 7 בראש המחסנית ) ונניח שאתה רוצה להכניס את 4 .
הפתרון שמוצג מוציא את כל האיברים שבעדיפות גדולה מהאיבר שרוצים להכניס לתוך מחסנית עזר ( בתוך לולאת ה WHILE ) .
בדוגמה שלי בסוף לולאת ה WHILE יש שתי מחסניות:
temp עם 7 5 ( 5 בראש המחסנית )
m_sPQ עם 1 3 ( 3 בראש המחסנית )
והאיבר שצריך להכניס 4

לאחר ה WHILE מוסיפים את 4 -----> 1 3 4
מוסיפים את 5 -----> 1 3 4 5
  מוסיפים את 7 -----> 1 3 4 5 7