רשימה ממויינת

ilankt

New member
רשימה ממויינת

יש לי שאלה אני צריך רשימה מקושרת ממויינת. עכשיו,חשבתי אולי להשתמש list של STL ולעשות sort אחרי כל פעם שמכינים... אבל זה בטוח לא יעיל, נכון? עדיף לי לעשות בעצמי, נכון?
 

annefan

New member
מה בדיוק תעשה בעצמך?

כאילו, מאיפה תדפוק את המערכת? תשתמש ב-list של STL, רק תכניס כל אבר, כשהוא מוכנס למקום הנכון. אתה יכול להגדיר מחלקה משלך שתעטוף את ה-list של STL, כשפונקציית ההכנסה מכניסה למקום הנכון (זה יכולה להיות private inheritance או כ-member variable).
 

selalerer

New member
לא, לא עדיף לך לעשות בעצמך.

בטח יש גם שיטה להכנסה ממוינת בlist מלבד זה אולי יתאים לך יותר מבנה נתונים אחר, איזה עץ אולי. תסביר מה אתה צריך לעשות ומה המגבלות שלך ונמצא את המבנה נתונים המתאים.
 

ilankt

New member
מגבלות? אין לי מגבלות...

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

selalerer

New member
לא ראיתי שם פונקציה להוספה ממויינת,

אבל כן יש את merge משכניסה רשימה נוספת באופן ממויין. אז תוכל לעשות משהו כזה:
list<type> tempLst; tempLst.push_front(val); mainLst.merge(tempLst);​
 

gmorph

New member
נראה לי עדיף

שיעבור על האיברים בעצמו. זה WHILE מאוד פשוט.
 

ilankt

New member
וואלה, תודה!

בדיוק הייתי צריך את זה לPath Finding, ואני רואה שהתוצאה הראשונה בגוגל, זה מה שהביא
 
למעלה