Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1471 connectés 

  FORUM HardWare.fr
  Programmation

  [C/C++] Pile, file...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C/C++] Pile, file...

n°81282
godbout
Génial.
Posté le 13-12-2001 à 15:05:47  profilanswer
 

J'me demandais juste quand on pouvait s'en servir parce que la je cherche mais je vois pas :??:
 
Je parle d'un exemple concret en prog (pas d'une pile d'assiete ou d'une file d'attente).

mood
Publicité
Posté le 13-12-2001 à 15:05:47  profilanswer
 

n°81290
flo850
moi je
Posté le 13-12-2001 à 15:24:44  profilanswer
 

la pile :  
si on a une fonction recursive et qu'on veut la derecursiver pour optimiser
 
la file :
je m'en suis servit pour des parcours en largeur d'arbres ( aratique dans certains cas


---------------

n°81292
chrisbk
-
Posté le 13-12-2001 à 15:26:23  profilanswer
 

ben ca depend
 
Imagine un undo pour un prog d'image : a chaque modif tu met l'image avant modif sur une pile
 
quand le type click sur undo tu depile un coup
 
(exemple a la con :D )

n°81296
godbout
Génial.
Posté le 13-12-2001 à 15:28:39  profilanswer
 

flo850 a écrit a écrit :

la pile :  
si on a une fonction recursive et qu'on veut la derecursiver pour optimiser
 
la file :
je m'en suis servit pour des parcours en largeur d'arbres ( aratique dans certains cas  




 
J'suis pas super a l'aise avec les fonctions recursives donc dmc :/
 
C'est koi ton histoire d'arbre ? arbre binaire ?
 
chris -> au contraire, tres bon exemple :jap:

n°81323
Carbon_14
Posté le 13-12-2001 à 16:23:27  profilanswer
 

Très bon exemple dans le principe, c'est sur, mais faut une grosse pile :) si l'image est volumineuse. :D

n°81333
qxn
Posté le 13-12-2001 à 17:19:36  profilanswer
 

Godbout a écrit a écrit :

 
 
C'est koi ton histoire d'arbre ? arbre binaire ?
 




 
bein les arbres c comme les listes chaines a peu de chose pres (ca te rapelle rien lol ) l'arbre contien un maillon tete et d'autre maillons ki eux comporte 2 pointeurs une pour le maillons fils et le maillon suivant c surtout utiliser en compression fin du moins c la que je l'ai vu utiliser genre la compression d'huffman si tu connais

n°81337
godbout
Génial.
Posté le 13-12-2001 à 17:33:58  profilanswer
 

qxn a écrit a écrit :

 
 
bein les arbres c comme les listes chaines a peu de chose pres (ca te rapelle rien lol ) l'arbre contien un maillon tete et d'autre maillons ki eux comporte 2 pointeurs une pour le maillons fils et le maillon suivant c surtout utiliser en compression fin du moins c la que je l'ai vu utiliser genre la compression d'huffman si tu connais  




 
ouais je connais ;)
mais je voulais savoir si c'etait bien de ca qu'il parlait, puisqu'il n'a pas precise :)
edit: c'est le terme 'largeur d'arbre' qui me tracasse un peu

 

[edtdd]--Message édité par Godbout--[/edtdd]

n°81365
LeGreg
Posté le 13-12-2001 à 18:53:20  profilanswer
 

nan c'est pas "largeur d'arbre" :lol:
c'est "parcours en largeur" d'arbre :sarcastic:
 
en gros quand tu fais une recherche exhaustive dans un arbre
tu as deux options: parcours en largeur ou parcours en profondeur.  
pour le parcours en profondeur, tu entasses
les noeuds a visiter sur une pile (LIFO)
et quand tu reviens sur tes pas tu depiles (recursivite classique) ceux que tu as visite.
Pour le parcours en largeur, tu pars du noeud
racine, tu places les enfants dans
une file (FIFO). Et tu visites le noeud le plus ancien
de ta file, et a chaque fois que tu as visite un noeud
tu l'enleves de la file en prenant soin de mettre ses enfants
a la fin de la file. (en gros tu parcours
les noeuds au niveau 1 puis au niveau 2 etc..)
 
A noter que si l'element a trouver existe dans ton arbre
le parcours en largeur garantit de le trouver.
Par contre le parcours en profondeur peut ne pas terminer
(si une branche se prolonge a l'infini).
 
LEGREG

n°81368
godbout
Génial.
Posté le 13-12-2001 à 19:06:07  profilanswer
 

Et apres j'm'etonne de passer pour un con :D
 
Bon etant donne que les arbres c'est encore flou (eh oui j'suis pas tres doué :D, pis comme je les utilise jamais :/), j'vais voir ca de plus pres !
 
Merci ;)

n°81418
Un4GivN
Posté le 13-12-2001 à 21:53:48  profilanswer
 

Récemment dans mon cours d'info, le prof nous a demandé de faire un gestionnaire de fichiers multi-tâches sous Dos. J'ai du me servir des piles, files, arbres et listes.
 
Je vais te parler pour le multî-tâches car j'ai trouvé ça vraiment bien pour te parler des piles ou files ( je sais pas trop ce que j'avais fait :D mais ca marchais ).
 
J'avais une fonction pour gérer la souris, d'après l'endroit où je cliquais dans l'écran. Une pour gérer le scroll, détruire un fichier, créer un dossier, blablabla... gestionnaire de fichiers !!! Tout cela devait être multi-tache donc quand je voulais les fichiers contenu dans le répertoire sélectionné, je ne pouvais pas faire quelque chose comme :  
...
while(findnext(&fblock) == 0)
{
        moule = malloc(sizeof(struct lafile));
        fin -> suivant = moule;
 moule -> avant = fin;
 moule -> suivant = NULL;
 fin = moule;
 moule -> position = position_fichiers_1;
 position_fichiers_1++;
 strcpy(moule -> nom_fichier, fblock.ff_name);
 ltoa(fblock.ff_fsize, grosseur, 10);
 strcpy(moule -> size_fichier, grosseur);
}
 
Il faut se faire une pile afin que tout fonctionne en meme temps. Exemple :  
1:Gère_souris
2:Lire UNE entrée du répertoire.
3:Quelque chose dautre qu'on aurait cliqué...
 
Ensuite retourner à gère souris et blablabla... vous comprenez ?
 
Ça peut paraître idiot, mais quand je suis arrivé à copier un fichier caractère par caractère ( le prof demandait cela pour nous prouver ce qu'il disait ... ), la copie d'un fichier de 30 Ko prenait environ 30 secondes... pendant ce long laps de temps, tout le système était paralyser par la boucle :
 
if(feof(pfichier) == 0)
{
   c = fgetc(pfichier);
   fputc(c, pfichier2);
}
 
Pour le multitaches, je mettais une fois dans ma pile LIRE, ensuite les fonctions necessaire au système, et ensuite ÉCRIRE, ainsi de suite... Windows fonctionne un peu de la même manière :fuck:
 
Ma pile contenait des valeurs, correspondant aux étapes dans le SWITCH général.
 
Vous avez des commentaires ? :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C/C++] Pile, file...

 

Sujets relatifs
[ORACLE] Utilisation de UTL_FILE sur le client[VC++ 6.0] options d'optimisatione et cadre de pile
[VB4] Copier un fichier sélectionné dans une file list box vers a:fatal error C1010: unexpected end of file while looking for ...
[JAVA] File d'attente...[JAVA] File...
open file[C++] objet File complet
javascript - pbleme champs File - youdontcare steupléééééééVC++ 6.0 Copy file
Plus de sujets relatifs à : [C/C++] Pile, file...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR