ExIsTeR

IA/ Cautarea in adancime

May 23rd, 2018
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.94 KB | None | 0 0
  1.  
  2. // CAUTAREA IN ADANCIME
  3.     noduri[0] = oras_Start;
  4.     nr_noduri++;
  5.     vizitat[oras_Start] = 1;
  6.     int gasit = 0;
  7.     int nod;//nodul curent pe care il initializam
  8.     while (gasit == 0 && (nr_noduri != 0)) {
  9.         nod = noduri[0];//scoatem primul element din lista de noduri si il retinem in noduri
  10.         for(int i = 0;i < nr_noduri - 1;i++){
  11.             noduri[i] = noduri[i + 1];
  12.         }
  13.         nr_noduri--;
  14.         if (nod == oras_Destinatie) {
  15.             gasit = 1;
  16.         }
  17.         else {
  18.             for (int i = 0;i < 20;i++) {
  19.                 if ((a[nod][i] == 1) && (vizitat[i] == 0)) {//orasele conectate de nod nevizitate
  20.                     for (int i = nr_noduri;i > 0;) { // Adaugarea in lista de noduri la inceput a oraselor conectate de nodul Nod si nevizitate
  21.                         noduri[i] = noduri[(i--) -1]; // noduri[i-1] si asta in loc de a mai pune i-- la for
  22.                     }
  23.                     noduri[0] = i; // aceste 3 linii se modifica la cautarea in latime
  24.                     nr_noduri++;
  25.                     vizitat[i] = 1;
  26.                     parinte[i] = nod;
  27.                 }
  28.             }
  29.         }
  30.     }
Add Comment
Please, Sign In to add comment