כותב |
|
גיל אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 22 January 2005 בשעה 16:27 | | IP רשוּם
|
|
|
|
שלום,
אני לומד סי מהספר "ללמוד סי"
מאת יואב נתיב בהוצאת הוד עמי.
נתקלתי בשני שאלות אותם לא הצלחתי לפתור, מקווה שמישהו פה יצליח לעזור לי
1)כתוב פונקצייה שמדפיסה את האיברים ברשימה מקושרת מהסוף להתחלה(כותב הספר ביקש לכתוב אותה בצורה רקורסיבית
2)כתוב פונקצייה אפשר הופכת רשימה מקושרת.
כלומר לאחר הקריאה של הפונקצייה האיבר הראשון יהפוך להיות האיבר האחרון והראשון אחרון.
כתוב את הפונקצייה כך שיהיה מעבר אדח על הרשימה ולא יהיו הקצאות זיכרון נוספות או בנייה של רשימה זמנית.
תודה מראש למי שיצליח לעזור לי
גיל
|
חזרה לתחילת העמוד |
|
|
ניר מנהל האתר
הצטרף / הצטרפה: 12 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 3296
|
נשלח בתאריך: 22 January 2005 בשעה 16:43 | | IP רשוּם
|
|
|
|
אוקיי, לא ברור בדיוק איזה מימוש של רשימה מקושרת יש לך.
אני מניח שיש לך רשימה מקושרת עם מצביע NEXT
ונגיד משתנה data מסוג int.
הקוד יכול להיות בפועל טיפה שונה, אבל זה הרעיון.
עבור שאלה 1:
קוד:
void printList(node* curNode)
{
if (curNode == NULL) return;
printList(curNode->next);
printf("%d\n", curNode->data);
} |
|
|
בגלל שההדפסה היא בחזרה מהרקורסיה, האיברים יודפסו מהאחרון אל הראשון
|
חזרה לתחילת העמוד |
|
|
ניר מנהל האתר
הצטרף / הצטרפה: 12 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 3296
|
נשלח בתאריך: 22 January 2005 בשעה 16:45 | | IP רשוּם
|
|
|
|
השאלה השניה לא אמורה להיות מורכבת, אבל יעזור לראות את קוד הרשימה כדי לתת לך פתרון מתאים.
אם אתה רוצה, כתוב כאן את הקוד.
|
חזרה לתחילת העמוד |
|
|
גיל אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 22 January 2005 בשעה 16:45 | | IP רשוּם
|
|
|
|
כן, התכוונתי לרשימה כזו, תודה רבה על העזרה
|
חזרה לתחילת העמוד |
|
|
גיל אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 22 January 2005 בשעה 16:47 | | IP רשוּם
|
|
|
|
סליחה על הדאבלטופיק, בקשר לשאלה השנייה, אל תטרח, אחרי שאני יודע איך פותרים את הראשונה, השנייה לא אמורה להיות קשה, במידה מסויימת הם מבוססות אחת על השנייה
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 22 January 2005 בשעה 20:16 | | IP רשוּם
|
|
|
|
UW אחי הסבר על הקוד שהבאת פה ועל רשימות או מה שזה לא יהיה, תוכל לתת בבקשה?
|
חזרה לתחילת העמוד |
|
|
ניר מנהל האתר
הצטרף / הצטרפה: 12 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 3296
|
נשלח בתאריך: 22 January 2005 בשעה 20:29 | | IP רשוּם
|
|
|
|
http://underwar.livedns.co.il/document-details.asp?id=140
עמוד 32 והלאה.
לא מסמך שמיועד בדיוק למתחילים, אבל אולי יוכל לעזור לך להבין.
יכול להיות שמתישהו אני אכתוב מסמך על רשימות מקושרות למתחילים גם.
הקוד למעלה:
חיפשתי את סוף הרשימה ברקורסיה, וכשמצאתי אותו, בזמן העליה מהרקורסיה, הדפסתי את האיברים בדרך.
|
חזרה לתחילת העמוד |
|
|
SBD פורומיסט על
הצטרף / הצטרפה: 13 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 1194
|
נשלח בתאריך: 22 January 2005 בשעה 20:44 | | IP רשוּם
|
|
|
|
טוב אם זה לא למתחילים אז עזוב אני לא רוצה סתם להסתבך, אני אתקדם לאט לאט :)
|
חזרה לתחילת העמוד |
|
|