何广 2013-12-06 09:18 采纳率: 0%
浏览 979

我自己编的克鲁斯卡尔算法求最小生成树,但是编译不出,求赐教

#include "stdio.h"
#include "stdlib.h"
#include "iostream.h"
#define N 10
typedef struct edge
{
int stvex[N];//边起点
int edvex[N];//边终点
int lowcost[N];//权值,按大小顺序排列
struct edge *next;
}edge;
int KLSKER (int lowcost[N],int stvex[N],int edvex[N] )
{
int e,h;
struct edge *stp;
struct edge *edp;
for(int i=2;i {
for(int j=0;j {
if((stvex[i]==stvex[j])||(stvex[i]=edvex[j]))
return stvex[j]||edvex[j];
if((edvex[i]==stvex[j])||(edvex[i]==edvex[j]))
return stvex[j]||edvex[j];
if(stvex[j]==edvex[j])//??????
stp=&stvex[i];
e=*stp;
stp=stp->next;
free(stp);
edp=&edvex[i];
h=*edp;
edp=edp->next;
free(edp);
}
}
cout<<"("< }
void main()
{
int e,edgenum,vexnum;
cout cin>>vexnum;
cout<<"请输入边数"< cin>>edgenum;
cout<<"请大小顺序输入各边权值,相同权值并列排后"< for(int i=0;i {
cin>>e;
edge->lowcost[i]=e;
}
cout<<"请将边的2个顶点依次输入,编号小的边视为起点。输入的顶点与相应的边权值对应"< cout for(int j=0;j {
cin>>e;
edge->stvex[j]=e;
}
cout<<"请输入边终点"< for(int k=0;k {
cin>>e;
edge->edvex[k]=e;
}
KLSKER();
return 0;
}

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 素材场景中光线烘焙后灯光失效
    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 保护模式-系统加载-段寄存器