Implémentation pile dans tableau
Résolu
dx3d
Messages postés
68
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, je me demandais si quelqu'un aurait la gentillesse de m'expliqué comment implémenter deux piles dans un tableau T[0...n] de telle manière qu'aucune pile ne déborde à moins que le nombre total d'éléments dans les deux piles ne vaille n + 1. Toutes les opérations doivent s'exécuter en temps O(1). Le pseudo code de chaque primitive est suffisant.
A voir également:
- Expliquez comment implémenter deux piles dans un tableau a[1..n] de telle manière qu'aucune des piles ne déborde à moins que
- Tableau word - Guide
- Comment connecter chromecast à la télé - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Comment faire deux colonnes indépendantes dans word - Guide
3 réponses
S'il vous plait, j'ai eu beau chercher sur le net, je n'arrive pas à trouver une réponse à cette question, si quelqu'un aurait une idée, merci de la partagé !
Normalement pour implémenter une pile normal avec un tableau, j'ajoute un tableau dans la structure de la pile, mais vu que les deux piles doivent partager le même tableau, dois je faire une structure qui utilise deux piles en même temps ?
Normalement pour implémenter une pile normal avec un tableau, j'ajoute un tableau dans la structure de la pile, mais vu que les deux piles doivent partager le même tableau, dois je faire une structure qui utilise deux piles en même temps ?
Bonjour,
Je te donne un indice :
1ère pile : de T[0] à T[i]
2ème pile : de T[n] à T[j].
Bien sûr, i<j<n.
Pas besoin de structure donc. Une simple fonction suffit.
Par exemple : void ajouterValeur(int *pile);
Je te laisse déjà avancer en tenant compte de l'aide ;-).
N'hésite pas si tu as des questions.
Cdlt,
Je te donne un indice :
1ère pile : de T[0] à T[i]
2ème pile : de T[n] à T[j].
Bien sûr, i<j<n.
Pas besoin de structure donc. Une simple fonction suffit.
Par exemple : void ajouterValeur(int *pile);
Je te laisse déjà avancer en tenant compte de l'aide ;-).
N'hésite pas si tu as des questions.
Cdlt,
Merci beaucoup, j'ai posé deux sommets de pile dans la structure, chacun pointant à un endroit où commence l'une des piles et quand j'empile si la taille de la pile arrive à la moitié de la taille du tableau le programme indique que la pile est pleine, etc ... :D