Les Snippets

Connexion

Mélanger un tableau

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 22/03/2006 11:50:00 et initié par sebmafate [Liste]
Date de mise à jour : 28/03/2006 23:27:34
Vue : 10094
Catégorie(s) : Algorithme
Langages dispo pour ce code :
- C# 1.x, C# 2.x
- PHP 4, PHP 5
- Javascript
- VB 2005, VB.NET 1.x
- C# 1.x, C# 2.x
- Python
- Javascript
- Voir tous les langages pour ce code snippet



Langage : C# 1.x , C# 2.x
Date ajout : 28/03/2006
Posté par coq [Liste]
DateMAJ : 28/03/2006

private static readonly Random _shuffleRnd = new Random(); // nécessaire pour la méthode ShuffleArray
public static void ShuffleArray(object[] array) 
{ 
    int arrayLength = array.Length; 
    // parcours de la liste en partant de la fin


    for (int i = arrayLength - 1; i > 1; --i) 
    {
        // tirage au sort d'un index entre 0 et la valeur courante de "i"
        int randomIndex = _shuffleRnd.Next(i); 
        // intervertion des éléments situés aux index "i" et "randomIndex"
        object temp = array[i]; 
        array[i] = array[randomIndex];
        array[randomIndex] = temp;
    }
}

Remarque :
Permet d'éviter le problème que l'on peut des fois rencontrer avec l'algo QuickSort utilisé par Array.Sort

Snippets en rapport avec : Tableau, Melanger



Codes sources en rapport avec : Tableau, Melanger

{Visual Basic, VB6, VB.NET, VB 2005} COMPRESSION
Fonction pour comprimer un tableau de byte...

{PHP} EQUIVALENT DE INNERHTML JAVASCRIPT, MAIS GLOBAL
Cette fonction renvoie un tableau du contenu de toutes les occurrences d'une balise, HTML ou non, de...

{Visual Basic, VB6, VB.NET, VB 2005} TABLEAU PERIDOQUES
Bonjour voici un tableau périodiques des éléments de Mendeleiv. Comme votre livre de 2nde. Crée pa...

{Visual Basic, VB6, VB.NET, VB 2005} RTFEDIT UN ÉDITEUR DE TEXTE AVANCÉ AVEC PLEIN DE FONCTIONS UTILES
Un éditeur de texte basé sur un Control (RichTextBoxPrintCtrl) avec plein de petites fonctions uti...

{Visual Basic, VB6, VB.NET, VB 2005} GESTION DE STOCK
Bonjour à tous! Voici un petit prog pour gérer un stock d'article, avec une recherche par référence...

{Delphi} FONCTION SPLIT
Du fait que les fonctions Split que j'ai trouvé sur le web ne marchait pas correctement, j'ai décidé...

{Visual Basic, VB6, VB.NET, VB 2005} HAPPY MEMORY
C’est un jeu pour améliorer la capacité de la mémoire humaine … Le principe est simple: lancez une ...

{PHP} TRANSFORMER UN TABLEAU D'OBJETS EN TABLEAU UNIDIMENSIONNEL
Pour les besoins d'un webmail que je remets à jour j'avais besoin de traiter les tableaux d'objets r...

{PHP} TRANSFORMER UN TABLEAU MULTIDIMENSIONNEL EN TABLEAU UNIDIMENSIONNEL
Quand je me suis retrouvé devant le problème de devoir gérer un tableau à X dimensions sans connaîtr...

{Delphi} MIND READER
c'est un jeu basé sur des notions mathématiques par exemple le programme va te demander de choisir ...