Guest User

Untitled

a guest
May 24th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.23 KB | None | 0 0
  1.     public static void TasTableau(int s) {     
  2.         // Initialisation
  3.         int i;
  4.         boolean test;
  5.         int pivot = s;
  6.         boolean[] C = new boolean[nb_sommets];     
  7.         int[] pere = new int [nb_sommets];
  8.         int[] d = new int [nb_sommets];
  9.         new TasTableau(nb_sommets);
  10.        
  11.         for(i = 0; i < nb_sommets; i++) {
  12.             C[i] = false;
  13.             pere[i] = -1;
  14.         }      
  15.         d[s] = 0;
  16.         C[s] = true;
  17.        
  18.         for(i = 0; i < nb_sommets; i++) {
  19.             if(C[i] == false) {
  20.                 if(matrice[pivot][i] != 0) {
  21.                     d[i] = matrice[pivot][i];
  22.                     pere[i] = pivot;
  23.                     TasTableau.add(i, d[i]);
  24.                 }
  25.                 else
  26.                     d[i] = Integer.MAX_VALUE;
  27.             }
  28.         }
  29.        
  30.         while(true) {
  31.            
  32.             test = true;           
  33.             for(i = 0; i < C.length; i++)
  34.                 if(C[i] == false)
  35.                     test = false;
  36.            
  37.             if(test)
  38.                 break; 
  39.  
  40.             pivot = TasTableau.del();
  41.             while(C[pivot] == true) {
  42.                 pivot = TasTableau.del();
  43.             }
  44.             C[pivot] = true;
  45.            
  46.             //Mise a jour des distances
  47.             for(i = 0; i < nb_sommets; i++) {
  48.                 if(matrice[pivot][i] != 0) {   
  49.                     if(d[pivot] + matrice[pivot][i] < d[i]) {
  50.                         d[i] = d[pivot] + matrice[pivot][i];
  51.                         pere[i] = pivot;
  52.                         C[i] = false;
  53.                         TasTableau.add(i, d[i]);
  54.                     }
  55.                 }
  56.             }
  57.         }
  58.         AffichageResult(s, pere, d);
  59.         System.out.println();
  60.     }
Add Comment
Please, Sign In to add comment