Vous êtes sur la page 1sur 3

TP 4 

: TRI DE FICHIER
Section : IF3
On souhaite trier un fichier texte. Ecrire un utilitaire de tri où l’ensemble des parametres sont
introduits sur la ligne de commande.

Les paramètres sont :

 Le nom du fichier
 Le déplacement pour le champs critère de tri
 La longueur du champs critère de de tri
 Le nom du fichier trié

Le nombre d’arguments doit correspondre à 5 .

L’opération de tri est effectuée en utilisant une liste chainée dans laquelle on charge le champs
critère et le déplacemement dans le fichier correspondant à la ligne.

Le tri est effectué sur la liste chainée et appliqué sur le champs critère. La sauvegarde est dirigée
vers le fichier de sortie.

Exemple

Ville.txt

Structure :

Ville : 20 caracteres

Pays :20 caractères

Nb hbaitant : 8 caracteres

Tunis Tunisie 2000000

Caire Egypte 10000000

Paris France 5000000

tri ville.txt 0 20 ville_tri.txt : pour trier le fichier ville sur le critere ville

tri ville.txt 20 20 ville_tri.txt : pour trier le fichier ville sur le critère pays

tri ville.txt 40 8 ville_tri.txt : pour trier le fichier ville sur le critère nb habitants

Une des solutions : chargement total du contenu du fichier en memoire

@1 @2 @3 …

Tunis Tunisie 2000000 Caire Egypte 10000000 Paris France 5000000


Inconvenient de la solution : Gaspillage de l’espace mémoire

2eme solution : si tri sur critere ville

@1 @2 @3

Tunis 0 @2 Caire 48 @3 Paris 96 @4

Effectuer un tri de la liste chainée

@1 :first

Caire 48 @2 Paris 96 @3 Tunis 0 @4

Sauvegarde dans le fichier de sortie

Ville_tri.txt

Caire Egypte 10000000

Paris France 5000000

Tunis Tunisie 2000000

struct data

Char * critere ;

Long deplacement ;

};

Typdef struct data DATA;

struct liste

DATA d;

struct liste *next;

Vous aimerez peut-être aussi