Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1238 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Algo de tri de tableaux

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Algo de tri de tableaux

n°1648443
tomsoft
Posté le 24-11-2007 à 19:02:16  profilanswer
 

:hello:  
 
je bosse sur mes cours, on a fait un tri de tableaux hier en c++ (vite fais un peu crade  :o )
 
et j'en ai refais un en php (bon je sais, ya sort($tableau) mais je veut faire sans :o )
 
Donc j'ai fait ca :
 

Code :
  1. <?php
  2.         // init du tableau :
  3.         $array = array( 10, 54, 58, 2, 12, 35, 54, 478, 16, 5 );
  4.         
  5.         // fonctions de tri :
  6.         
  7.         function return_indice_min($array, $offset) { // fonction qui retourne l'indice de la + petite valeur du tableau
  8.             $min = $offset++; // affectation de la valeur de offset à $min et incrementation
  9.             for ($i = $offset; $i < sizeof($array); $i++)
  10.                 if ($array[$min] > $array[$i])
  11.                     $min = $i;
  12.             return $min;        
  13.         }
  14.         
  15.         function permute(&$val1, &$val2) { // permute 2 valeurs val1 et val2 avec passage par reference
  16.             $inter = $val1;
  17.             $val1 = $val2;
  18.             $val2 = $inter;
  19.         }
  20.         
  21.         function sort_array(&$array) { // trie un tableau passé en parametre
  22.             for ($i = 0; $i < sizeof($array); $i++) { // on parcourt chaque case du tableau, et on permute la valeur min du tableau avec la valeur actuelle
  23.                 $min =  return_indice_min($array, $i);
  24.                 permute($array[$i], $array[$min]);
  25.             }
  26.         }
  27.     ?>


 
Test ici : http://tomas.save.free.fr/files/dev/php/sort_array.php
 
Existe t'il d'autres algos de tri plus rapides ?

mood
Publicité
Posté le 24-11-2007 à 19:02:16  profilanswer
 

n°1648450
_mumu_
Posté le 24-11-2007 à 19:22:06  profilanswer
 

Oui, l'un des plus performant est le quicksort, c'est un algorithme récursif et il a une complexité en nlog(n).

n°1648454
naceroth
Posté le 24-11-2007 à 19:28:55  profilanswer
 

Bien sûr, c'est même surprenant que tu poses la question, ça ne se voit pas en cours d'algo, les méthodes de tri ?
 
Enfin bref, le quicksort est effectivement l'un des plus rapides sur un tableau complètement non-trié (en fait, plus le tableau est déjà trié, moins il est performant). Sur un tableau presque trié, le smoothsort est plus efficace.

n°1648455
tomsoft
Posté le 24-11-2007 à 19:30:59  profilanswer
 

c'etait juste un cours de POO, sans algo, on a juste vu cette methode, et on a parlé du tri a bulles mais je pense pas que ce sot plus rapide,  
 
je vais regarder vers quicksort

n°1648458
_mumu_
Posté le 24-11-2007 à 19:44:59  profilanswer
 

Voici un lien qui permet de comparer la vitesse de quelques algos.
http://www.imerir.com/~madeline/SortDemo/example.html

n°1648459
tomsoft
Posté le 24-11-2007 à 19:48:08  profilanswer
 

et celui que j'utilise, saurais tu me dire lequel est-ce ?

n°1648462
naceroth
Posté le 24-11-2007 à 19:59:25  profilanswer
 

Un des plus triviaux, un tri par selection (le premier de la liste normalement)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Algo de tri de tableaux

 

Sujets relatifs
tableau de tableaux[PHP] Différence entre les valeurs de deux tableaux
remplacer les vide par des 0 dans un tableaux excelpasser plusieurs tableaux dans un formulaire
Algo pour intersection de figuresTableaux de structure constant
[RESOLU] Tableaux d'objets en PHP[Algo]Combinaison d'une liste d'entier
[Algo] kakuro[PHP] Algo : trouver les éléments pas commun à deux tableaux
Plus de sujets relatifs à : Algo de tri de tableaux


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR