本文整理汇总了C++中Grafo::resize方法的典型用法代码示例。如果您正苦于以下问题:C++ Grafo::resize方法的具体用法?C++ Grafo::resize怎么用?C++ Grafo::resize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Grafo
的用法示例。
在下文中一共展示了Grafo::resize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GeneraAleatorio
void GeneraAleatorio()
{
srand(time(NULL));
int max_nodos=10, min_nodos=6;
int max_aristas=5,min_aristas=1;
int min_peso=10,max_peso=50;
int V=rand()%(max_nodos-min_nodos+1)+min_nodos;
Grafo miGrafo;
miGrafo.clear();
miGrafo.resize(V);
for(int i=0;i<miGrafo.size();i++){
int num_aristas=rand()%(max_aristas-min_aristas+1)+min_aristas;
for(int j=0;j<num_aristas;j++){
bool nodo_ok=false;
int nodoDestino=-1;
while(!nodo_ok){
int duplicado=0;
nodoDestino=rand()%V;
for(int k=0;k<miGrafo[i].size();k++){
if(miGrafo[i][k].nodo==nodoDestino){
duplicado=1;
break;
}
}
if(duplicado==0 && nodoDestino!=i)
nodo_ok=true;
}
miGrafo[i].push_back(
Edge(nodoDestino, rand()%(max_peso-min_peso)+min_peso+1) );
}
}
for(int i=0;i<miGrafo.size();i++){
printf("%d: ",i);
for(int j=0;j<miGrafo[i].size();j++){
printf("(D: %d, P: %d)",miGrafo[i][j].nodo,miGrafo[i][j].peso);
}
printf("\n");
}
getchar();
}