Advertisement
Guest User

Untitled

a guest
Apr 10th, 2020
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.27 KB | None | 0 0
  1.     private void echanger(Facette[] tab, int i, int j) {
  2.         Facette tmp = tab[i];
  3.         tab[i] = tab[j];
  4.         tab[j] = tmp;
  5.     }
  6.    
  7.     private int partitionner (
  8.             Facette[] tab,
  9.             int premier, // élément le plus à gauche
  10.             int dernier, // élément le plus à gauche // dans la partition
  11.             int pivot // emplacement du pivot
  12.             ) {
  13.        
  14.             echanger(tab, pivot, dernier);
  15.             int j = premier;
  16.             for (int i=premier; i <= dernier-1; i++) {
  17.                 if (tab[dernier].estAvant(tab[i])) {
  18.                     echanger(tab, i, j);
  19.                     j = j + 1;
  20.                 }
  21.             }
  22.             echanger(tab, dernier, j);
  23.             return j;
  24.     }
  25.  
  26.     private void quickSort(Facette[] tab, int premier, int dernier) {
  27.  
  28.         int pivot;
  29.        
  30.         if (premier < dernier) {
  31.             pivot = premier;
  32.             pivot = partitionner(tab, premier, dernier, pivot);
  33.             quickSort(tab, premier, pivot-1);
  34.             quickSort(tab, pivot+1, dernier);
  35.         } else {
  36.             System.out.println("c faux");
  37.         }
  38.     }
  39.    
  40.     /**
  41.      * trie les facettes de la forme coutrante en fonction de la distance à
  42.      * l'origine on utilisera un des algorithmes vus en cours
  43.      */
  44.     public void trieFacettes() {
  45.         int premier  = 0;
  46.         int dernier = this.nbfac - 1;
  47.        
  48.         // on mélange le tableau
  49.         this.shuffle();
  50.         this.quickSort(tab, premier, dernier);
  51.         System.out.println("trié !");
  52.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement