Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template < typename V >
- GrafoGnr< V >::GrafoGnr(int cntVrt, double prbAdy) {
- this->cntVrt = cntVrt;
- vctrVrt.resize(cntVrt);
- unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
- std::default_random_engine generador(seed);
- for (int i = 0; i < cntVrt; i++) {
- vctrVrt[i].lstAdy.resize(cntVrt);
- }
- for (int i = 0; i < cntVrt; i++) {
- for (int j = 0; j < cntVrt; j++) {
- std::uniform_int_distribution<int> dst_uniforme(0, 100);
- int xstAdyI = dst_uniforme(generador); // se genera un valor al azar entre 0 y 100.
- double xstAdyD = xstAdyI / 100.0; // se genera un valor al azar entre 0 y 1.
- if ( xstAdyD <= prbAdy && i != j && xstAdy(i,j) == false) { // determinamos si "nace" o no la adyacencia
- vctrVrt[i].lstAdy.push_back(j);
- vctrVrt[j].lstAdy.push_back(i); // agregamos la adyacencia "espejo"
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement