详细解释getFirst函数public: QVector<QVector<Point>> ResultVector; QVector<Point> leftAN; QVector<Point> rightAN; QVector<Point> boatList; QVector<Point> result;//储存最终路径 //输出 void test() { for (int i = 0; i < ResultVector.size();i++) { result = ResultVector[i]; if (result.size() > 0) { for (int i = 0; i < result.size(); i++) { qDebug() << "(" << result[i].x << "," << result[i].y << "," << result[i].z << ") "; } //cout << endl; } else { qDebug() << "找不到结果"; } } } void getFirst() //获取最优解,用于演示 { int i = 0; result = ResultVector[0]; for(i = 0;i<result.size()-1;i++) { Point lp,rp; Point bp; lp.x = result[i].x; lp.y = result[i].y; rp.x = abs(result[0].x - result[i+1].x); rp.y = abs(result[0].y - result[i+1].y); bp.x = abs(result[i].x - result[i+1].x); bp.y = abs(result[i].y - result[i+1].y); bp.z = result[i].z; leftAN.push_back(lp); rightAN.push_back(rp); boatList.push_back(bp); } }
时间: 2023-06-26 18:04:58 浏览: 137
QT,QVector 基本用法,遍历[实例讲解] - 小皮球的博客 - CSDN博客1
该函数是一个用于获取最优解的函数,它使用了一些私有的数据成员,包括:
1. ResultVector:一个储存所有可能的路径的向量,其中每个元素都是一个储存点的向量。
2. leftAN:储存左岸的人和狼的位置的向量。
3. rightAN:储存右岸的人和狼的位置的向量。
4. boatList:储存船的位置的向量。
5. result:储存最终路径的向量。
该函数首先遍历 ResultVector 中的每个元素,并将最终路径储存在 result 中。然后,它使用 for 循环遍历 result 中的每个点,计算左岸、右岸和船的位置,并将它们分别存储在 leftAN、rightAN 和 boatList 中。
最后,该函数返回最优解。
阅读全文