Здравствуйте, Аноним, Вы писали:
А>Здравствуйте
А>Подскажите как можно в векторе переместить элемент из середины в начало, так что сохранить последовательность.
std::vector<type_t> xVector;
type_t xValue;
... //тут его заполнение
for(std::vector<type_t>::iterator xIter; xIter!=xVector.end(); xIter++)
{
if((*xIter)==xValue)
{
xVector.insert(xVector.begin(), *xIter);
std::vector<type_t>::iterator xEraseIter=xIter++;
xVector.erase(xEraseIter);
}
}
вот как-то так. Вроде структуры нарушить не должно. А вообще для таких вещей всеже по моему мнению праивльнее использовать двусвязные списки. std::list напимер...