社区讨论

关于 vector 指针式&下标式遍历

学术版参与者 4已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@lod2ahm2
此快照首次捕获于
2023/10/30 23:35
2 年前
此快照最后确认于
2023/11/05 09:53
2 年前
查看原帖
比如我们要对一棵有根树进行 DFS\texttt{DFS},使用邻接表 vector 存储树,像这样:
CPP
vector<int>v[100005];//存树
int d[100005];//深度
void DFS(int u,int fa,int dep){
    d[u]=dep;
    for(int i=0,s=v[u].size();i<s;i++){
        if(v[u][i]==fa)continue;
        DFS(v[u][i],u,dep+1);
    }
}
那么,5-8 行应该可以换成:
CPP
if(!v[u].empty()){
    for(vector<int>::iterator it=v[u].begin();it!=v[u].end();it++){
        if(*it==fa)continue;
        DFS(*it,u,dep+1);
    }
}
请问这两种哪个快啊QAQ

回复

5 条回复,欢迎继续交流。

正在加载回复...