פורסם 2006 בנובמבר 2819 שנים מנסה לבנות עץ אדום שחור.כדי לחסוך בזיכרון- אני בונה צומת שאליה יצביעו כל העלים (במקום שכל אחד יצביע לNULL כל העלים והאבא של השורש מצביעים לצומת הזאתי)אז- כשאני עושה constructor (ב++C) יש מצביע לבן ימין (NULL), מצביע לבן שמאל (NULL) ומצביע לאבא-> מיהו?
פורסם 2006 בנובמבר 2819 שנים מחבר אז אולי לא חוסך מקום בזיכרון (ככה אמרו לי לעשות)אבל השאלה עדיין נשארת- כשאני מכניסה צומת חדש לעץ איך אני מאתחלת את המצביע לאבא שיצביע לאבא?????
פורסם 2006 בנובמבר 2819 שנים מה הבעיה? הרי האבא קיים, לא?תעבירי את האבא ב- constructor של הצומת שאת יוצרת.
פורסם 2006 בנובמבר 2819 שנים מחבר זו בדיוק השאלה: איך אני עושה את זה? ???למה המצביע לאבא מאותחל בconstructor?וכשאני מוסיפה עלה לעץ (לא השורש) מוסיפים כמו עץ חיפוש בינארי ואז רוטציות וכו' למה האבא מצביע כשאני מוסיפה את העלה?
פורסם 2006 בנובמבר 2819 שנים את יכולה ליצור עץ עם CTOR כלשהו(שיצור גם את איבר הדמה שאת רוצה), ולהוסיף איבר ע"י פונ מסויימת(למשל insert).תרשמי כאן את ההגשרה של הCLASS שאת מעוניינת ליצור.
פורסם 2006 בנובמבר 2819 שנים מחבר לא הבנתי מילה (כמעט) ממה שהצעת.אני חשבתי לעושת דבר כזה:class NodeBR{public: NodeBR* left; NodeBR* right; NodeBR* parent; T value; char color; NodeBR (T val); NodeBR (T val, NodeBR*l, NodeBR*r, NodeBR*p, char col);};למה אני מאתחלת את המצביע לאבא???
פורסם 2006 בנובמבר 2919 שנים אני מניח שאת מנסה בסך הכל ליצור את העלה. כשתרצי להוסיף אותו לעץ, את צריכה לתת לו את האבא.למשל משהו כזה:i<-getinfo()f<-find_father_before_add(i.value)NodeBR n(i.value, nil,nil,f,i.color)עשיתי קצת ערבוביה בין פסאודו קוד לC++, אבל אני מניח שתביני(השעה מאוחרת...).
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.