和點是如何連接:
文件點是如何連接的是輸出我有 。預期的輸出應該是1<->216 , 23<->157 115<->157
,然後是115<->216
。訂單並不重要,但這些點應該這樣連接
讓我問你一個問題。 我有以下代碼:
for (int i = 0; i < values.size()-1;i++)
{
int result = 0;
double Min2 = DBL_MAX;
int x = 0;
for (int j = i+1; j < values.size(); j++)
{
/*if (visited[j] == false)*/
{
distance = sqrt(pow((values[i].x2 - values[j].x2), 2) + pow((values[i].y2 - values[j].y2), 2));
if (distance < Min2 && distance != 0)
{
Min2 = distance;
x = j;
}
}
}
如果你看一下圖的左邊第一個節點1然後進入216,然後115,然後157,然後23我除了216-115而是右側連接它連接216-157。爲什麼忽略或最小距離無濟於事。我試圖使用標誌(如果訪問與否)相同的結果。所有節點都能正常工作,只是這個節點不想正確連接。
你在問題中描述的內容(節點順序:1-> 216-> 115-> 157-> 23)根本不匹配圖像中「連接點的方式」。 – user463035818
...「如何連接點」是您的代碼的輸出? – user463035818
第一張圖是點 的圖形,第二張圖是它們如何連接的點。從1-216或從216-1連接點並不重要。主要是所有點都應該連接,並且所有點都正確連接,除了115-157之外,因爲代碼連接157-216 什麼說1-> 216-> 115-> 157-> 23這是圖表如何表示。我將這些點添加到矢量中,它可以先是1然後是23,但是我無法對它們進行排序,因爲它應該是這樣。這個想法只是我需要連接他們的權利和代碼連接,我有更多的積分,他們是正確的 –