您的位置:首页 > 其它

spfa求最短路模板(邻接矩阵)

2017-10-19 20:27 369 查看
int n, dis[300], mapp[300][300], used[300];
int SPFA(int u)
{
for (int i = 1; i <= n; i++)
{
dis[i] = inf;
}
queue<int>q;
q.push(u);
used[u] = 1;
dis[u] = 0;
while (!q.empty())
{
int now = q.front();
used[now] = 0;
q.pop();
for (int i = 1; i <= n; i++)
if (dis[i] > dis[now] + mapp[now][i])
{
dis[i] = dis[now] + mapp[now][i];
if (!used[i])
{
used[i] = 1;
q.push(i);
}
}
}
}
void inti()
{
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
if (i == j)
{
mapp[i][j] = 0;
}
else
{
mapp[i][j] = inf;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  图论 SPFA 最短路