关于 memset
查看原帖
关于 memset
242543
Ryo_Yamada楼主2020/9/26 22:00

刚才做这道题的时候半天调不对,当时最短路是这样写的:

void SPFA(int s, int Dis[]) {
	queue<int> q;
	memset(Dis, 0x3f, sizeof Dis);
	Dis[s] = 0;
	q.push(s);
	while(!q.empty()) {
		int u = q.front();
		q.pop();
		for(int i = head[u]; i; i = e[i].nxt) {
			int v = e[i].to;
			if(Dis[v] > Dis[u] + 1) {
				Dis[v] = Dis[u] + 1;
				q.push(v); 
			}
		}
	}	
}

然后把

memset(Dis, 0x3f, sizeof Dis)

改成

const int inf = 0x3f3f3f3f;
...
for(int i = 1; i <= n; i++) Dis[i] = inf;

就 AC 了,想问一下函数里传数组是不可以用 memset 吗,为什么呢

2020/9/26 22:00
加载中...