Tri fichier en utilisant arbre
salut tt le monde bon je veux développer un prog qui fait un tri d'un fichier déjà rempli selon un critère choisis comme essai j'ai rempli un fichier par des ligne contient cin[8]nom[20]date[4]
et j'ai essayé de faire le tri selon le cin le clé de l'arbre contient une ligne puis il compare les 8 premier caractères et saisie le clé dans un autre fichier temporaire
mais cette fonction ne fait rien , s'il vous plait aidez moi a connaitre ou est le prob
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
char ch[36],cin[8],ch1[28];
f= fopen("arbre.txt", "w");
fichier= fopen("testarbre.txt", "r");
while (!feof(fichier))
{
fscanf(fichier, "%s", ch);
node *tmpNode;
node *tmpTree = *tree;
node *elem =(node*)malloc(sizeof(node));
elem->(*ligne)=(* ch);
elem->left = NULL;
elem->right = NULL;
if(tmpTree)
do
{
tmpNode = tmpTree;
sscanf(ch,"%s %s",cin,ch1);
if(strcmp(cin,tmpTree->ligne) > 0 )
{
tmpTree = tmpTree->right;
if(!tmpTree) tmpNode->right = elem;
fprintf(f,"%s\n",tmpTree->ligne);
}
else
{
tmpTree = tmpTree->left;
if(!tmpTree) tmpNode->left = elem;
fprintf(f,"%s\n",tmpTree->ligne);
}
}
while(tmpTree&&f);
else *tree = elem;
}
fclose(fichier);
fclose(f);} |