贪心法实现最近邻点问题
- 代码中的各个点的权值可以按需更改
- 输出会给出每次选择的详情
#include <iostream>
using namespace std;
struct line{ //P集合结构体
int from; //从哪个城市出发
int to; //去往哪个城市
};
bool VHaveI(int V[5],int i){ //判断是否没经过该城市
for (int j = 0; j < 5; ++j) {
if(V[j]!=0){
if(V[j] == i){
return true;
}
}else{
return false;
}
}
}
int findMin(int u,int w[5][5],int V[5]){
int min = 0;
int flag; //记录去了那一座城市
for (int i = 0; i < 5; ++i) {
if(VHaveI(V,i)){
if(min == 0 ){
min = w[u][i];
flag = i;
}else{
if(min>w[u][i]&&w[u][i]!=0){
min = w[u][i];
flag = i;
}
}
}
}
cout<<"出发