该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
std::back_inserter(Child2));
/**********************************************************************
cout <
for (tempIter=Child1.begin(); tempIter!=Child1.end(); ++tempIter)
cout <
cout <
cout <
for (tempIter=Child2.begin(); tempIter!=Child2.end(); ++tempIter)
cout <
cout <
**********************************************************************/
std::rotate (fatherBk.begin(), fatherBk.begin()+HighBoundary+1, fatherBk.end());
std::rotate (motherBk.begin(), motherBk.begin()+HighBoundary+1, motherBk.end());
/**********************************************************************
cout <
copy (fatherBk.begin(),fatherBk.end(), std::ostream_iterator(cout, " "));
cout <
cout <
copy (motherBk.begin(), motherBk.end(), std::ostream_iterator(cout, " "));
cout <
**********************************************************************/
for (V_iter = m_GenerationGene[iFather].begin()+LowBoundary;
V_iter != m_GenerationGene[iFather].begin()+HighBoundary+1; ++V_iter)
{
motherBk.erase(std::remove(motherBk.begin(), motherBk.end(), *V_iter),
motherBk.end());
}
for (V_iter = m_GenerationGene[iMother].begin()+LowBoundary;
V_iter != m_GenerationGene[iMother].begin()+HighBoundary+1; ++V_iter)
{
fatherBk.erase(std::remove(fatherBk.begin(), fatherBk.end(), *V_iter),
fatherBk.end());
}
/**********************************************************************
cout <
copy (fatherBk.begin(),fatherBk.end(), std::ostream_iterator(cout, " "));
cout <
cout <
copy (motherBk.begin(), motherBk.end(), std::ostream_iterator(cout, " "));
cout <
**********************************************************************/
iDistance = _CITY_AMOUNT -HighBoundary - 1;
std::copy(motherBk.begin(), motherBk.begin()+iDistance, std::back_inserter(Child1));
std::copy(motherBk.begin()+iDistance, motherBk.end(), std::inserter(Child1,Child1.begin()));
std::copy(fatherBk.begin(), fatherBk.begin()+iDistance, std::back_inserter(Child2));
std::copy(fatherBk.begin()+iDistance, fatherBk.end(), std::inserter(Child2,Child2.begin()));
/**********************************************************************
cout <
copy (Child1.begin(), Child1.end(), std::ostream_iterator(cout, " "));
cout <
cout <
copy (Child2.begin(), Child2.end(), std::ostream_iterator(cout, " "));
cout <
**********************************************************************/
/*iChild1Probability = fnEvalOne(Child1);
//iChild2Probability = fnEvalOne(Child2);
P_iter = std::max_element(m_vProbability.begin(), m_vProbability.end());
if (iChild1Probability
{
m_GenerationGene[P_iter-m_vProbability.begin()] = Child1;