有大佬有用数组模拟的dijkstra模板吗
是静态数组,不是动态的
自己想脑袋要炸了
用数组模拟邻接表的模板就是这个:
#include <iostream>
#include <cstring>
using namespace std;
const int N = 1005, M = 10005;
int h[N], e[M], nex[M], idx = 0;
void add(int a,int b)
{
e[idx] = b;
nex[idx] = h[a];
h[a] = idx;
idx++;
}
int main()
{
int n, m;
int a, b;
memset(h, -1, sizeof(h)); // 初始化
cin >> n >> m; // 输入点数,边数
for (int i=1;i<=m;i++)
{
cin >> a >> b;
add(a, b);
add(b, a);
}
for (int i=1;i<=n;i++)
{
cout << i << "->";
for (int j=h[i];j!=-1;j=nex[j])
{
cout << e[j] << "->";
}
cout << endl;
}
return 0;
}
谢谢啦