2010-10-28 1 views
1

Besoin de vos conseils d'expert pour trier un tableau 2D, ligne par ligne (signifie considérer chaque ligne indépendamment et trier toutes les rangées indépendamment d'un tableau 2D) dans Visual Studio C# ExempleComment faire pour trier tableau 2D (ligne-sage) dans Visual Studio C#?

Première rangée: 5 4 3 6 deuxième rangée: 2 3 1 4

Ordre: Première rangée: 3 4 5 6 deuxième rang: 1 2 3 4

il y a une méthode appelée Array.Sort(), mais elle est propre à Tableaux 1D seulement. Merci et salutations Asad

Répondre

1

Si votre tableau 2D est un tableau en dents de scie comme:

int[][] foo = new int[][] { 
    new int[] { 5, 4, 3, 6 }, 
    new int[] { 2, 3, 1, 4 } }; 

vous pouvez le faire en utilisant LINQ:

for (int i = 0; i < foo.Length; i++) 
    foo[i] = foo[i].OrderBy(s => s).ToArray(); 
0

Votre exemple est un tableau 1D, par tableau 2D voulez-vous dire somthing lke

int[2,2] foo; 

de sorte que vous allez faire quelque chose comme.

foo[0,0] = 0; 
foo[0,1] = 1; 
foo[1,0] = 1; 
foo[1,1] = 1; 

veuillez clarifier.

+0

En fait, j'ai un tableau 2D d'éléments de 10x10. Chacune des 10 lignes contient 10 éléments. Je veux trier chaque ligne de ce tableau 2D indépendamment de l'autre rangée. – Asad

+1

dans ce cas, il serait préférable pour vous d'avoir une liste de tableaux. De cette façon, vous pouvez les parcourir et trier chaque tableau. Beter a toujours une liste <> de SortedLists. – MrJoeBlow

Questions connexes