Bonjour,

je suis actuellement sur l'implentations de matrices creuses, j'ai donc trois tableaux, le premier correspondant aux valeurs non nulles de la matrice, le second correspondant au numéro des lignes sur lesquelles ce trouvent les valeurs et un tableau de colonnes où se trouvent les valeurs.

Pour être plus clair, voici un exemple (pour une Matrice(3, 3)):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
double val[2]= {1, 0.5};
int lig[2]= {0, 1};
int col[2]= {1, 0};
Ce qui représente la matrice :
0 1
0.5 0

Bref, ça fonctionne par couple de valeur en fonction de l'indice du tableau.

Et j'aimerais savoir comment trier ces tableaux en fonction de lig, puis de col. Tout en laissant les couples de valeurs intacts...

Exemple:

double val[4]= {2, 3, 1, 4};
int lig[4]= {0, 1, 0, 1};
int col[4]= {1, 0, 0, 1};

l'état des tableaux après le tri devra donc être le suivant :
double val[4]= {1, 2, 3, 4};
int lig[4]= {0, 0, 1, 1};
int col[4]= {0, 1, 0, 1};

Je ne sais pas trop comment faire (je peux passer par des structures, j'aurai donc un tableau de structures).