我是C++ STL的新手,我无法理解图形表示.
vector<int> adj[N];
Run Code Online (Sandbox Code Playgroud)
那么这会创建一个类型向量数组,还是会创建一个数组向量?BFS代码似乎遍历在adj [i]的每个实例处出现的值列表,因此它看起来像一个向量数组.创建向量的语法是:
vector<int> F;
Run Code Online (Sandbox Code Playgroud)
这将有效地创建单维向量F.
有什么区别
vector< vector<int> > N;
Run Code Online (Sandbox Code Playgroud)
和
vector<int> F[N]
Run Code Online (Sandbox Code Playgroud) 我知道如何在C中为数组动态分配空间.可以按如下方式完成:
L = (int*)malloc(mid*sizeof(int));
Run Code Online (Sandbox Code Playgroud)
并且可以通过以下方式释放内存:
free(L);
Run Code Online (Sandbox Code Playgroud)
如何在C++中实现等效?
具体来说,我如何使用new和delete[]关键字?特别是在创建/销毁链表节点,或者在编译期间创建和销毁其大小由变量给出的数组的上下文中?