удаление елемента из вектора
От: Бадян Украина  
Дата: 10.05.03 16:31
Оценка:
Здравствуйте, уважаемые господа!

Подскажите, пожалуйста, как правильно реализовать удаление елемента из вектора (в цыкле).


std::vector <char> S;
std::vector <char>::iterator it;

int main()
{
  for (it=S.begin()+1; it!=S.end()-1; it++) 
    if (*(it-1) == *(it+1)) S.erase(it);
    
  return 0;
}


Я предлагаю такой вариант:


  it=S.begin()+1;
  while (it!=S.end()-1)
  {
    if (*(it-1) == *(it+1)) 
      it = S.erase(it);
    else
      it++;
  }



А что скажут эксперты?

Заранее благодарю, за внимание.
В те далекие времена, когда байты были еще битами...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.