Tri un fichier sur la dernière colonne
Résolu/Fermé
mouna1985
Messages postés
31
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
13 novembre 2016
-
12 nov. 2012 à 12:56
ngounou25 Messages postés 96 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 5 juillet 2013 - 13 nov. 2012 à 15:25
ngounou25 Messages postés 96 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 5 juillet 2013 - 13 nov. 2012 à 15:25
A voir également:
- Tri un fichier sur la dernière colonne
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Trier colonne excel - Guide
- Déplacer une colonne excel - Guide
2 réponses
ngounou25
Messages postés
96
Date d'inscription
mercredi 6 août 2008
Statut
Membre
Dernière intervention
5 juillet 2013
4
12 nov. 2012 à 15:16
12 nov. 2012 à 15:16
Salut,
Tu as le choix.
--> Soit tu ne gère pas la complexité en espace.
Là, c'est beaucoup plus facile. Tu charge ton fichier complet dans une matrice nx8 et tu applique l'un des célèbres algorithmes de tri (tri insertion, tri sélection, tri bulle, tri fusion, tri rapide, tri tas) sur la colonne 8. Dans ce cas, le seul endroit où tu devras faire attention est lorsque tu réalise tes permutations. La permutation des éléments aux lignes i et j (de la colonne 8) entraînera systématiquement la permutation de tous les éléments de ligne i et j de même colonne sur les 7 colonnes restantes.
--> Soit tu gère la complexité en espace
La tu charge unique la colonne 8 dans un matrice nx2 dans laquelle une colonne représente la colonne 8 (de ton fichier) et l'autre son numéro de ligne dans le fichier. Après le tri, c'est la réécriture qui sera un peu complexe. Mais avec un peu de labeur, ce sera réalisable. Par exemple, si après le tri, dans ta 1er case t'as un élément qui était initialement à la ligne i (information refermé par la 2e colonne), tu va dans ton fichier de base, tu lis la ligne i, tu l'écris dans ton fichier temporaire. Tu passe à à ton 2e élément. S'il était à la ligne j, tu va dans ton fichier initial, tu lis la ligne j et tu l'écris dans le fichier temporaire. Tu boucle jusqu'à la fin. Et au final, tu copie le fichier temporaire dans le fichier de base.
Bonne chance.
Tu as le choix.
--> Soit tu ne gère pas la complexité en espace.
Là, c'est beaucoup plus facile. Tu charge ton fichier complet dans une matrice nx8 et tu applique l'un des célèbres algorithmes de tri (tri insertion, tri sélection, tri bulle, tri fusion, tri rapide, tri tas) sur la colonne 8. Dans ce cas, le seul endroit où tu devras faire attention est lorsque tu réalise tes permutations. La permutation des éléments aux lignes i et j (de la colonne 8) entraînera systématiquement la permutation de tous les éléments de ligne i et j de même colonne sur les 7 colonnes restantes.
--> Soit tu gère la complexité en espace
La tu charge unique la colonne 8 dans un matrice nx2 dans laquelle une colonne représente la colonne 8 (de ton fichier) et l'autre son numéro de ligne dans le fichier. Après le tri, c'est la réécriture qui sera un peu complexe. Mais avec un peu de labeur, ce sera réalisable. Par exemple, si après le tri, dans ta 1er case t'as un élément qui était initialement à la ligne i (information refermé par la 2e colonne), tu va dans ton fichier de base, tu lis la ligne i, tu l'écris dans ton fichier temporaire. Tu passe à à ton 2e élément. S'il était à la ligne j, tu va dans ton fichier initial, tu lis la ligne j et tu l'écris dans le fichier temporaire. Tu boucle jusqu'à la fin. Et au final, tu copie le fichier temporaire dans le fichier de base.
Bonne chance.
mouna1985
Messages postés
31
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
13 novembre 2016
3
12 nov. 2012 à 23:38
12 nov. 2012 à 23:38
Merci pour la réponse :)
ngounou25
Messages postés
96
Date d'inscription
mercredi 6 août 2008
Statut
Membre
Dernière intervention
5 juillet 2013
4
13 nov. 2012 à 15:25
13 nov. 2012 à 15:25
Beh si ça t'as aidé, songe à marquer le sujet comme étant résolu ;-)