PDA

View Full Version : با حذف عنصر از لیست مشکل دارم



root88
سه شنبه 09 فروردین 1390, 14:30 عصر
با سلام ، دوستان من یه لیست دارم که می خوام یه تعداد عنصر که از یک سطر از ماتریس خونده میشه رو توش جستجو کنم و در صورت وجود هر کدوم از لیست حذفش کنم، متغیر x رو تعریف کردم که نشون میده عنصر چندم از لیست در حال بررسی با سطر مورد نظر از ماتریسه، از تابع advance استفاده کردم تا تکرارگر و بعد از حذف عنصر به خونه قبل از عنصر حذف شده از لیست اشاره کنه همه دچار کرش میشه. ممکنه راهنمایم کنید. مثلا اگه لیستی شامل 26و 28 داشته باشم و بخوام 28 رو حذف کنم مشکل داره



it=l.begin();int x=0;
while(it!=l.end())
{

if(m[id][j]!=0 && *it==j)/
{
l.erase(it);
it=l.begin();
s.push_back(id);
if(x!=0)
x--;
advance(it,x);
flag=1;
s.unique();
}
if(flag==0) it++;
}

quiet_programmer
سه شنبه 09 فروردین 1390, 15:51 عصر
با سلام.

هرچند متوجه نشدم که میخوای چکار کنی. ولی برای حذف یه عنصر از لیست میتونی از کد زیر الگو بگیری.

#include <iostream.h>
#include <vector.h>

int main ()
{
vector<int> List;
vector<int>::iterator LPtr;
List.push_back(28);
List.push_back(26);
LPtr=List.begin();
while(LPtr!=List.end())
{
if (*LPtr==28)
{
LPtr=List.erase(LPtr);
LPtr--;
}
LPtr++;
}
LPtr=List.begin();
while(LPtr!=List.end())
cout<<*LPtr++<<endl;

}