עבור לתוכן

break or while ???

Featured Replies

פורסם

בשביל שהתוכנה שאני עושה תהיה די יעילה אני רציך להפסיק מדי פעם לולאות FOR האם עדיף לבצע לולאות For עם Break או לולאת While.

המצב כרגע הו לולאת While.

פורסם

ניסיתה להריץ גם וגם ולבדוק מה עדיף? בכל מקרה עדיף while

פורסם

עדיף להשתמש כמה שפחות בBREAK.

פורסם

אין ממש הבדל, אבל breakים גם שוברים קצת את הקריאות של הקוד.

פורסם

break זה רע, נקודה. משתמשים בו רק כשחייבים.

מבחינת המחשב אין ממש הבדל בין for ל-while, הם ממומשים פחות או יותר באותה צורה (ה-for חוסך לך כתיבת שתי שורות קוד, ופשוט יפה יותר להשתמש בו כשזה מתאים).

מבחינת יעילות, יש יתרון אחד ל-for, וזה כשיש לך לולאה בגודל קבוע וידוע מראש (בלי breakים ושינוי של האינדקס עליו אתה רץ בתוך הלולאה), ואז הקומפיילר יודע לעשות ייעול שנקרא loop unrolling.

פורסם
  • מחבר

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

פורסם

אז תשים את זה בתוך FOR ולא בתוך WHILE.


init
while(cond)
{

step
}

במקום


for(init;cond;step)
{
}

ולהיפך

פורסם
  • מחבר

אז תשים את זה בתוך FOR ולא בתוך WHILE.


init
while(cond)
{

step
}

במקום


for(init;cond;step)
{
}

ולהיפך

האם זה נהוג לשים תנאים שם שלא קשורים למספר המחזורים???? אפשרי זה כן השאלה אם נהוג??

פורסם

לא, זה לא ממש נהוג.

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

(לדוגמה - נקודה התחלה 0, סיום 100, והתקדמות 1, או לחילופין כשאתה עובר על רשימה, אז נקודת התחלת הרשימה, סיום הרשימה, ומעבר מאיבר לאיבר).

בכל מקרה, אם יש לך breakים באמצע ה-for, או שתנאי העצירה שלו תלוי בכל מיני דברים שיכולים להשתנות בתוך הלולאה, הוא לא יהיה יותר יעיל מ-while.

פורסם

Breakים בלולאות זה כזה רעעעעע.

עדיף While.... או for

ארכיון

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

דיונים חדשים