עבור לתוכן

מחיקה מרשימה

Featured Replies

פורסם

חברים יש לי בעיה פה בתכנות לפרויקט

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

כאילו שהרשימה מתקצרת תוך כדי הפור הפתרון הוא בכיוון של רקורסיה אבל אין לי שמץ של מושג או כיוון איך לעשות את זה

public void Del(int i)
{

if(!list2.isEmpty())
{
for(int j=0;j<list2.size();j++)
{
if((list.get(i).p+30==list2.get(j).x && list.get(i).q+30==list2.get(j).y) || (list.get(i).p+30==list2.get(j).a && list.get(i).q+30==list2.get(j).b))
{
list2.remove(j);

}
}
}

}

אם יש לי רשימה של 0-1-2 (מספרי איברים ברשימה)

אז בסוף נשאר רק 1

תודה לפותרים

פורסם

קודם כל, תוסיף עוד קצת פרטים:

באיזו שפת תכנות אתה עובד? (תוסיף את זה גם לכותרת)

מה זה list ו-list2?

מה הפונקציה הזו אמורה לעשות?

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

הפתרון בשביל זה הוא לא להשתמש ב-for, אלא להשתמש ב-while, ולקדם את j באופן ידני (כלומר, בכל פעם שאתה מוריד איבר מהרשימה, לא לקדם את j).

ארכיון

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

דיונים חדשים