这是我试图实现某种算法的代码。帮帮我,为什么Edges [i]-> u的值将变为0。
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
typedef long long int ll;
typedef struct edge
{
ll u,v,w;
}Edge;
int main()
{
cout<<"Enter V: ";
ll V;
cin>>V;
cout<<"Enter E: ";
ll E;
cin>>E;
vector<Edge*>Edges(E);
cout<<"For E edges enter \nu v w \n";
ll uu,vv,ww;
for(int i=0;i<E;i++)
{
Edges[i]=(Edge*)malloc(sizeof(Edge));
cin>>uu>>vv>>ww;
Edges[i]->v=vv;
Edges[i]->u==uu;
Edges[i]->w=ww;
}
cout<<Edges.size()<<endl;
for(int i=0;i<E;i++)
{
cout<<Edges[i]->u<<" "<<Edges[i]->v<<" "<<Edges[i]->w<<endl;
}
}
我只是无法弄清楚错误是什么以及为什么输出的值是0。对于Edges [i] .v和Edges [i] .w,它显示正确。请对此进行帮助。
输出:
Enter V: 3
Enter E: 3
For E edges enter
u v w
1 2 3
2 3 4
3 1 5
3
0 2 3
0 3 4
0 1 5