【发布时间】:2014-03-14 00:34:19
【问题描述】:
这是我的代码:
vector<int> Edge[1000000]; //size of array must be very high
scanf("%d%d",&N,&M );
//N = size of workable index numbers for Edge
for( i=1;i<=M;i++){
scanf("%d%d",&u,&v );
Edge[u].push_back( v );
}
但正如您所见,它是一个静态向量数组。 如果我把它改成这样:
vector<vector<int>> Edge;
对于循环和回退,我该如何做到这一点?我需要创建一个 N+1 大小的向量,每个位置也是一个向量。
【问题讨论】:
-
vector<vector<int>> Edge(100000);或vector<vector<int>> Edge; Edge.resize(100000); -
我需要在声明后初始化,因为它是一个全局变量
-
即使变量是全局的也依然有效。
-
你的意思是你声明变量的时候还不知道大小?
-
原来如此,谢谢