Вам понадобится специальный компаратор, чтобы сравнить интересующее вас поле:
struct compare_nod_by_cost {
bool operator()(nod const * a, nod const * b) {
return a->vCost < b->vCost;
}
};
Тогда вы можете предоставить его в качестве компаратора для list::sort
:
vList.sort(compare_nod_by_cost());
В C ++ 11 вы можете сжать это в лямбду:
vList.sort([](nod const * a, nod const * b) {return a->vCost < b->vCost;});
(Обратите внимание, что вы почти наверняка хотите хранить в своем списке объекты, а не указатели; в этом случае измените аргументы указателя компаратора на ссылки).