עבור לתוכן

שאלה בקשר למערך בJAVA

Featured Replies

פורסם

ערב טוב,

יש לי מערך סוכמים בו אני רוצה למצוא את שלושת הערכים הגדולים ביותר.

אני יודע איך למצוא את הערך הגדול ביותר, אבל את השני והשלישי אני לא מצליח מפני שהם יכולים גם להיות שווים לערך "הגדול ביותר".. מה השיטה?

תודה מראש.

פורסם

אופציה א:

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

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

ושוב חפש את האיבר הגדול ביותר, תוך שאתה מדלג על שני האיברים הגדולים ביותר.

אופציה ב:

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

פורסם
  • מחבר

תודה רבה! עזרת לי מאוד.:xyxthumbs:

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים