Nous pouvons implémenter la structure de données via la langue C. Il existe plusieurs types de structure de données disponibles pour stocker et accéder aux données de manière efficace. La pile est l'une d'entre elles.
Une pile est une version modifiée du tableau. Nous pouvons ajouter ou supprimer un élément à une extrémité de la pile. Cette fin est au Haut de la pile.
La pile est un moyen spécialisé de gérer, de stocker, d'insérer, de supprimer, d'accéder aux données. C'est de nature abstraite.
Tableau et pile
Représentation
Nous ne pouvons accéder qu'au dernier élément inséré dans la pile. C'est le haut de la pile. Nous pouvons soit insérer ou supprimer du haut.
Ceci est connu comme le dernier de Fast Out (LIFO) et le Fast in Last Out (Filo).
Mise en œuvre
La pile peut être implémentée comme suit:
-> Array -> Array dynamique -> Liste de liensOpération
-> Push -> popAlgorithme push: push (pile, top, maxstk, item)
1. [La pile est pleine]
Si top == maxstkVoir le message: Débordement et retour
2. Set top = top + 1
3. Set stack [top] = item
4. Retour
Algorithme pop: pop (pile, haut, article)
1. [élément supprimé de la pile]
Si top == -1Voir le message: Underflow et retour
2. Set item = stack [top]
3. Top: Top -1
4. Retour
Pile à l'aide du tableau
Struct arraystackIci, nous définissons un type de données défini par l'utilisateur appelé ArrayStack. Il compte trois membres de données nommés Top, Capacité, et un pointeur nommé * Array.
Notation polonaise
La notation polonaise rédige les opérateurs d'une expression avant ou après leur opérande.
Façons d'écrire:
Infix 2. Préfixe 3. Postfix
Inspirer
Les opérateurs sont maintenus entre les deux opérandes.
Exemple: A + B
Préfixe
Les opérateurs sont conservés avant leurs opérandes.
Exemple: + a b
Postfix
Les opérateurs sont conservés après leurs opérandes.
Exemple: A B +
Convertir
1.
Infix:2.
Infix:3.
Infix :( a + b) / (c - d)Toute cette conversion peut être effectuée à l'aide de pile. Maintenant, nous voulons montrer comment une pile peut être créée et comment l'élément ou les données est insérée. Les éléments peuvent être retirés de la pile par programmation.
Exemple de programmation
#inclureSortir:
Explication
Comme nous l'avons dit plus tôt, nous définissons un type de données défini par l'utilisateur nommé ArrayStack. Il compte trois membres de données nommés Top, Capacité et un tableau de pointeur. Ensuite, nous définissons une fonction nommée Createstack où nous passons une valeur que le bloc total de la table est créé. La fonction malloc () crée ce tableau et renvoie l'adresse à la pile variable qui est le type ArrayStack. Le tableau de pile-> contient l'adresse du tableau qui est créé par la fonction malloc ().
Ensuite, nous définissons une autre fonction nommée Full () pour vérifier si la pile est pleine ou non.
Créer une autre fonction nommée vide pour vérifier si la pile est vide.
Ensuite, nous définissons une autre fonction nommée push () où nous insérons les éléments un par un dans la pile à partir d'une extrémité appelée Top. Pour insérer l'élément de la pile, nous vérifions d'abord si la pile est pleine.
Ensuite, nous définissons une autre fonction nommée POP () où nous supprimons les éléments un par un de la pile d'une extrémité appelée Top. Pour supprimer l'élément de la pile, nous vérifions d'abord si la pile est vide.
Ensuite, à l'intérieur de la fonction Main (), nous écrivons le boîtier de commutateur pour donner à l'utilisateur une option de menu pour sélectionner son choix si l'élément est inséré ou supprimé dans la pile.
Conclusion
D'après la discussion sur la pile, nous sommes venus à conclure que Stack est une structure de données bien définie qui est utilisée pour gérer les données de manière structurelle. Notre pile de vie quotidienne est mise en œuvre dans divers domaines pour stocker, insérer ou supprimer des éléments.