Iterators

annefan

New member
רק מערך

המימוש לא יכול להיות רשימה מקושרת, כיוון שהסטנדרט קובע גם סדרי גודל לפעולה, שניתנים רק במערך, ולא ברשימה. אם זה לא מספיק, בתיקון לסטנדרט שיצא ב-2003, הוספה דרישה שוקטור ימומש בצורה רציפה, מה שלא קיים בהכרח ברשימה.
 

zagzagzag

New member
איפה אפשר לקרוא על המימוש?

אני לא מצליח למצוא... אני מחפש מידע על המימושים הנפוצים, למשל איך הם מתמודדים עם מחיקות איברים מה-vector.
 

annefan

New member
אני מכיר שני ספרים

STL Tutorial and Reference Guide (Addison-Wesley) C++ Standard Library, The: A Tutorial and Reference (Addison-Wesley)​
השני נחשב ל-refernce טוב יותר ומעודכן יותר. כדי להבין את הרציונל ומימושים אפשריים, קראתי את הראשון, והוא מצוין!
 

annefan

New member
הספר של אקל לא מתמקד בזה

הספר הראשון שהזכרתי הוא הטוב ביותר שקראתי
 

Blade2

New member
אני יודע את זה, רק נתתי דוגמה אחת

וכשאתה אומר הוספה בכל מקום ברשימה, אתה מתכוון להוספה במקום נתון?, כי אחרת צריך להתחשב בסיבוכיות של סריקת הרשימה עד אותו מקום...
 

selalerer

New member
כאשר אתה רוצה לעשות אוסף של

איברים שצורכים הרבה זיכרון, נהוג להשתמש ברשימה מקושרת היות והזיכרון אינו חייב להיות רציף וכך סביר יותר שלא יגמר לך הזיכרון בניגוד למערך שאתה צריך להקצות גוש אחד ענק ורציף של זיכרון.
 

DadleFish

New member
לא מדויק -

חלק מהקוד אפשר להפעיל גם על מערך רגיל. את for_each אפשר להפעיל על מערך רגיל ללא כל בעיה. הרבה מהאלגוריתמים יעבדו גם על מערך רגיל.
 
למעלה