使用基于图的方法创建平面图是我的功课。
基于图的方法是使部门之间的权重最大化。图方法的步骤
我已经完成了步骤3。
这是创建平面图的关系图。 enter image description here
我的代码:
for (int i = 0; i <= in_step4_1.size() - 1; i++)
{
for (int j = 0; j <= in_step4_1.size() - 1; j++)
{
for (int k = 0; k <= in_step4_1.size() - 1; k++)
{
if ((in_step4_1[i] < in_step4_1[j]) && (in_step4_1[j] < in_step4_1[k]) && (in_step4_1[j] < in_step4_1[k]))
{
cout << "(" << in_step4_1[i] << "," << in_step4_1[j] << "," << in_step4_1[k] << ")";
in_step4[count].push_back(in_step4_1[i]);
in_step4[count].push_back(in_step4_1[j]);
in_step4[count].push_back(in_step4_1[k]);
if (++count % 4 == 0) cout << endl;
}
}
}
}
n=count;
cout << endl;
}
我只想找到可能的组合,而不是所有组合。
答案 0 :(得分:0)
步骤1:选择权重最大的部门对
使用std::sort
之类的排序算法简单地对容器进行排序:
std::sort(std::begin(in_step4_1), std::end(in_step4_1));
// largest weight is in_step4_1[in_step4_1.size() - 1]