行 - " vector<int> used(adj.size(), 0); "是什么意思?
what is the meaning of line - " vector<int> used(adj.size(), 0); "?
实际上,我必须对图的顶点进行拓扑排序。 为此,我得到了下面给出的代码模板。
#include <iostream>
#include <algorithm>
#include <vector>
using std::vector;
using std::pair;
void dfs(vector<vector<int> > &adj, vector<int> &used, vector<int> &order, int x) {
//write your code here
}
vector<int> toposort(vector<vector<int> > adj) {
vector<int> used(adj.size(), 0);
vector<int> order;
//write your code here
return order;
}
int main() {
size_t n, m;
std::cin >> n >> m;
vector<vector<int> > adj(n, vector<int>());
for (size_t i = 0; i < m; i++) {
int x, y;
std::cin >> x >> y;
adj[x - 1].push_back(y - 1);
}
vector<int> order = toposort(adj);
for (size_t i = 0; i < order.size(); i++) {
std::cout << order[i] + 1 << " ";
}
}
我无法理解行"使用的向量(adj.size((, 0(; "的含义。谁能解释一下。
vector<int> used(adj.size(), 0);
这声明了一个vector<int>
类型的局部变量used
,该变量使用采用size_t
和int
的双参数构造函数进行初始化vector
。
这是通用描述;要了解细节,您需要知道std::vector
的构造函数是什么。 特别是有
vector::vector(size_type n, const T& value, const Allocator& = Allocator());
这将匹配,它构造指定大小的向量,使用指定元素值的副本初始化所有元素。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- "friend"关键字在C++中是什么意思?
- 减法中的"0"是什么意思?
- 字符数组前面的加号是什么意思?
- 这里的字符串函数是什么意思