Aller au menu - Aller au contenu

Les piles et les files en C++


Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page 1 
Pseudo Commentaire
Page 1 
Hors ligne tom'z # Posté le 02/07/2007 à 23:23:18
Avatar

études : ENSCR

tutoriel assez complet et efficace, je dois dire, même si des débutants qui débarquent sur ce tuto ne voient pas forcément l'utilité des piles et des files, et ce tuto ne dois pas les aider beaucoup sur ce point là.

une petite sous-partie avec quelques exemples d'utilisation aurait été la bienvenue, et le principe des piles et des files aurait été gagné à être plus détaillé.

mais malgré ces critiques (que j'espère constructives et encouragentes :p ), je te dis bravo et merci pour ce tuto ! :)
Secret (cliquez pour afficher)
15/20
 
Hors ligne LeGrandManitou # Posté le 27/07/2007 à 10:19:25

Magnifique. Les explications sont très simples et clairs. Bravissimo.
Hors ligne Mathelec # Posté le 03/08/2007 à 17:39:44
In The Code..
Avatar

Ville : Lamorlaye
Pays : France métropolitaine

Je suis débutant en C++ !

Tu n'expliques pas la différences avec les tableaux, en quoi les piles et files sont utiles ?

Bon tutoriel malgré le manque d'informations.

Secret (cliquez pour afficher)
16 / 20
Hors ligne Xavinou # Posté le 03/08/2007 à 18:48:52
Vodka, deconnecting people
Avatar
Anciens

Ville : Strasbourg
Pays : France métropolitaine
études : IUT Strasbourg-Sud

Pour les différences avec les tableaux, ça me semblais évident, mais je le rejouterais. (la principale différences est qu'avec les tableaux, on peut accéder directement à tous les éléments)

Pour l'utilité des piles/files : j'ai rajouté une partie avec un exemple (il est en attente de validation)

Xav57
Hors ligne minirop # Posté le 28/09/2007 à 19:29:12
私の世界
Avatar
Anciens

Ville : Reims
Pays : France métropolitaine
études : SUPINFO Champagne-Ardenne à Reims

pas mal, mais faudrait rajouter quelques trucs comme quoi on peut aussi faire des piles/files de pointeurs :
Code : C++ - Afficher / masquer les numéros de ligne
  1. stack<int*> p;
  2. p.push(new int);


et aussi dire que "pop" renvoie la valeur popé utile si pile de pointeur pour pouvoir delete tranquille
 
Connecté Diti # Posté le 30/10/2007 à 12:12:46
Manchot empereur
Avatar
Flux RSS

Ville : Sucy-en-brie
Pays : France métropolitaine

Au fait, toutes tes listes là, tu devrais les modifier. J'ai passé plusieurs minutes à chercher ce qu'étaient les nombres devant chaque opération, et quand j'ai compris que c'étaient des numéros de liste...

Code : Zcode - Afficher / masquer les numéros de ligne
  1. <liste type="1">
  2.     <puce>42+</puce>
  3.     <puce>32*54*+</puce>
  4.     <puce>1253+*+7-</puce>
  5. </liste>

Idem pour les autres listes, et le monde s'en portera bien mieux :p !
 
Hors ligne Alp # Posté le 30/10/2007 à 19:18:58

Deux remarques qui j'espère vont aider à améliorer ton tuto :
- Tu devrais donner plus d'exemples concrets d'utilisations : le stockage d'évènements à traiter pour un GUI, les messages à gérer d'un serveur (réseau), ...
- Desfois tu t'égares un peu : fautes de vocabulaire, etc ... Donc il s'agirait d'être un chouilla plus rigoureux lorsque tu expliques. Ce n'est pas méchant, mais des débutants peuvent s'emmeler les pinceaux. Desfois tu expliques des choses sur les piles et files, mais tu insères des remarques sur la syntaxe du C++ qui n'ont rien à faire là, ou bien ce n'est simplement pas assez clair.

Ne le prends pas mal, j'ai juste essayé de lire ton tuto en me mettant dans l'esprit d'un "débutant".

Je mets quand même un bon 7 (7+, si on pouvait)
 
Hors ligne Xavinou # Posté le 30/10/2007 à 22:48:37
Vodka, deconnecting people
Avatar
Anciens

Ville : Strasbourg
Pays : France métropolitaine
études : IUT Strasbourg-Sud

@Alp : Donner plus d'exemples, je veux bien, mais le but d'un tuto est d'expliquer une chose, un principe, un concept. Ca ne doit pas être un étalage d'exemples d'utilisations.
En ce qui concerne les fautes de vocabulaire, il faudrait être un peu plus précis ! Idem pour "la syntaxe du C++", mais je pense que tu fait allusion sur la rapide explication de la méthode find. Pour ça, il fallait bien que j'explique (rapidement) ce que fait cette méthode, sinon, l'exemple ne peut pas être entièrement compris !

Xav57
Hors ligne Chlab_lak # Posté le 08/12/2007 à 23:49:27
Tendou
Avatar

études : Ecole Supérieure de l'ETML

j'ai juste une remarque:
Code : C++ - Afficher / masquer les numéros de ligne
  1. bool operateur(const char c)
  2. {
  3.         string op = "+*-/";
  4.         bool res = false;
  5.         if(op.find(c) != string::npos)
  6.                 res = true;
  7.  
  8.         return res;
  9. }

le code ci-dessus n'est pas faux mais on peut faire mieux
Code : C++ - Afficher / masquer les numéros de ligne
  1. bool operateur(const char c)
  2. {
  3.         static string op = "+*-/";
  4.         return (op.find(c) != string::npos);  
  5. }
 
Hors ligne Nivl # Posté le 16/12/2007 à 17:27:22
4 8 15 16 23 42
Avatar

Il me semble qu'il y a une erreur:

Citation : Tuto
Code : C++ - Afficher / masquer les numéros de ligne
  1. queue<int> i;
  2. i.push(10);
  3. i.push(20);
  4. i.push(30);
  5. i.push(40);
  6.  
  7. cout << "Le premier élément est : " << i.front() << endl;
  8. cout << "Le dernier élément est : " << i.back() << endl;
  9.  
  10. i.pop();
  11. cout << "Le premier élément est : " << i.front() << endl;
  12. cout << "Le dernier élément est : " << i.back() << endl;


Code : Console - Afficher / masquer les numéros de ligne
Le premier élément est : 10
Le dernier élément est : 30
Le premier élément est : 20
Le dernier élément est : 30


Ça ne devrait pas plutôt être:

Code : Console - Afficher / masquer les numéros de ligne
Le premier élément est : 10
Le dernier élément est : 40
Le premier élément est : 20
Le dernier élément est : 40


?

Ex TheDead Master
 
Hors ligne Xavinou # Posté le 16/12/2007 à 17:44:42
Vodka, deconnecting people
Avatar
Anciens

Ville : Strasbourg
Pays : France métropolitaine
études : IUT Strasbourg-Sud

Effectivement, ce n'est pas juste.

Merci de l'avoir signalé, je la corrigerai !

Xav57
Hors ligne Layus # Posté le 17/12/2007 à 23:59:38
!? encore un Layus...
Avatar

études : Université catholique de Louvain

Petit tuto bien sympa et qui tombe à pic pour mon cours de math...

Je dois juste faire remarquer une petite erreur dans le code final.

Tu crées une fonction
Code : C++ - Afficher / masquer les numéros de ligne
  1. bool operateur(const char c)


et dans ton code tu utilises
Code : C++ - Afficher / masquer les numéros de ligne
  1. if(!operande(epf.at(i)))


l'erreur ta semblera evidente... la fatigue peut-être...

Celui qui reçoit une idée de moi reçoit un savoir sans diminuer le mien, tout comme celui qui allume sa bougie à la mienne reçoit la lumière sans me plonger dans la pénombre.
Thomas Jefferson
 
Hors ligne Xavinou # Posté le 18/12/2007 à 00:09:04
Vodka, deconnecting people
Avatar
Anciens

Ville : Strasbourg
Pays : France métropolitaine
études : IUT Strasbourg-Sud

oula, 2 erreurs en 2 jours ?!

En tout cas, c'est corrigé, merci de l'avoir signalé.
Hors ligne anonyme # Posté le 18/12/2007 à 13:25:57

Un tuto interessant à lire pour comprendre encore mieux le fonctionnement d'un ordinateur. Aide également beaucoup pour la programmation en assembleur (compréhention du principe).
Hors ligne djo0012 # Posté le 19/12/2007 à 07:49:19

Ville : Montréal
Pays : Canada
études : Cégep du Vieux-Montréal

bon tuto, maintenant que j'Ai fini mon cour de structure de donné je vais enfin pouvoir arreter de m'enm**** a créé moi meme les structure.bon tuto et bien expliquer mais il demande une compréhension préalable des liste et des file (mais comme il tu dit, tu conseil de lire le tuto sur les pile et file en c avant et a mon souvenir il sont bien expliquer dans celui la)

enfin just une petite erreure au niveau du code ascii lorsque l'on fais une soustraction se son les code décimal qui son utiliser (du moin de la maniere que tu en parle, donc 48 pour le caractere '0', 30 étant le code hexadécimale

desoler pour le francais j'ai un manque de moliere en moi depuis un bout :( Citation : moi-meme
Si vous n'arrivez pas a résoudre un problème c'est que vous n'avez pas assez travaillé dessus.
 
Hors ligne idsquare # Posté le 23/12/2007 à 18:52:16
Avatar

Hum J'aime bien ce tuto, ça me rapelle nos cours de P Xavinou ^^
Hors ligne HeatBurns # Posté le 13/02/2008 à 10:36:21
00010010001101000101
Avatar

Excellent tutoriel ! :D
Pour ma part, je n'ai pas eu besoin d'aller voir les cours sur les piles et les files en C++. Celui-là est très bien expliqué. Et puis, si on a l'habitude de manipuler les vecteurs, la compréhension est aisée.

Merci encore une fois Xav57 ! :p

Note: 20/20.

Image utilisateur
 
Hors ligne Xavierh # Posté le 21/09/2008 à 12:27:47

Je vois pas la différence entre les pile et les vector >_<

Internet explorer c'est tellement fort que quand on clique sur leurs pubs sur internet on tombe sur un 404 Not Found :o (si si c'est vrai testez ^^)
 
Hors ligne Xavinou # Posté le 21/09/2008 à 23:41:56
Vodka, deconnecting people
Avatar
Anciens

Ville : Strasbourg
Pays : France métropolitaine
études : IUT Strasbourg-Sud

La principale différence, c'est que les vector, tu peux les parcourir au moyen d'un itérateur, alors que pour les piles, tu n'a seulement accès qu'au dernier ajouté. Pour accéder au 10ème élément par exemple, il faut supprimer les 9 premiers avant.
Hors ligne Furya # Posté le 24/11/2008 à 20:21:56
Avatar

Je te mets 17/20
Pour accéder à cette section
Connectez-vous !
connexion_rpx