小编Ash*_*ens的帖子

矢量超出范围/范围检查

新用户在这里.我一直在编写这个代码,它创建一个带有节点的网络,并使用随机数在它们之间创建边.我将整个图形跟踪为矢量,每个条目是一个向量,表示其元素是其邻居的节点.然后,它使用深度优先搜索来查找组件的数量,这些组件是图形的分离部分(我的计数变量).然后我将节点及其连接的邻居数输出到txt文件中.代码编译,但命令提示符给我一个错误:

在抛出'std :: out_of_range'的实例后调用终止what():vector :: _ M_range_check

此应用程序已请求Runtime以不寻常的方式终止它.请联系支持人员......

那么......这意味着什么,我该如何解决?

另外,我需要跟踪每个组件中有多少节点,任何想法?

在此先感谢,这是我的代码:

#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <vector>
using namespace std;

void gengraph(int v, float p, vector <vector <int> >& G);
void DFS(vector <vector <int> > G, int v, vector<int>& M);

int main()
{
    int a = 1000;
    float b = 0.004;
    vector <vector <int> > G;
    gengraph(a,b,G);
    vector <int> M (1000);
    int count = 0;
    int i;
    for (i = 0; i < a; i++)
    {
        if (M[i]==0) …
Run Code Online (Sandbox Code Playgroud)

c++ vector

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×1

vector ×1