פורסם 2010 בינואר 1915 שנים שלום,תהיתי האם ניתן לדעת מהו גודל המחסנית (בצורה רקורסיבית מן הסתם), וזאת בלי שימוש ביצירת מחסנית או כל כלי נוסף חדש...כמובן שיש להחזיר גם את המחסנית חזרה ללא שינוי בסוף..
פורסם 2010 בינואר 1915 שנים כמובן. תוציא מהמחסנית איבר אחד, תחשב את גודל המחסנית שנשארה לך (ע"י קריאה רקורסיבית) + 1, ותחזיר את האיבר שהוצאת.מה שכן, זו טיפה רמאות, כי אתה כן משתמש כאן במחסנית - המחסנית של הקריאה לפונקציות.
פורסם 2010 בינואר 1915 שנים מה הכוונה "ללא שינויה" ? אם אסור להשתמש בPOP - אז אתה בבעיהint F(stack st){if (st.isEmpty)return 0;else{int size;a=st.pop();size =1+ (F(st));st.push(a);return size;}מספר הערות לקוד :1. זהו אינו הפתרון הרקורסיבי היעיל ביותר2. יש פתרון לא רקורסיבי טוב יותר, אך דורש מחסנית זמנית (רוצה לומר אין דרך אחרת להימנע מהמחסנית הזמנית אלא רק בעזרת רקורסיה).
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.