Implémentation de la pile dans JavaScript

Implémentation de la pile dans JavaScript

Les piles sont des structures de données linéaires qui suivent le principe de LIFO. LIFO est le dernier en premier, ce qui signifie que l'élément le plus récemment ajouté est le premier à être supprimé. Cette structure de données est nommée pile comme une analogie avec les piles du monde réel E.g., Une pile de cookies dans un pot à biscuits ou une pile de livres sur une étagère. Dans la pile, l'insertion et l'extraction ne peuvent être effectuées qu'à une extrémité I.e., le haut de la pile. Par exemple, si nous voulons manger un cookie, nous obtiendrons le haut en premier, puis le 2e et ainsi de suite.

Ce message sera tout au sujet de l'implémentation de Stack in JavaScript. Comme nous travaillons avec JavaScript, nous ne nous inquiéterons pas de la taille de la pile car la taille des objets JavaScript peut croître dynamiquement.

Implémentation de la pile dans JavaScript

Nous utiliserons une classe JavaScript pour implémenter la structure de données de pile. Le empiler La classe contiendra un tableau dans son constructeur qui sera utilisé pour stocker des éléments dans la pile. La classe définira également différentes méthodes qui seront utilisées pour manipuler les données stockées à l'intérieur de la pile. Les méthodes les plus élémentaires du tableau sont les insérer() et extrait() Méthodes qui sont utilisées pour ajouter et supprimer les éléments du haut de la pile.

Le empiler La classe définit également d'autres méthodes telles que peek (), est vide(), clair(), imprimer() et taille() aussi:

classe Stack
constructeur ()
ce.éléments = [];

// place un article sur la pile
insérer (élément)
ce.éléments.push (élément);

// supprime un élément du haut de la pile
extrait()
ce.éléments.populaire();

// Renvoie l'élément le plus élevé de la pile
peek ()
retourner ceci.éléments [ceci.éléments.longueur - 1];

// vérifie si la pile est vide
est vide()
retourner ceci.éléments.longueur == 0;

// imprime toute la pile
imprimer()
pour (soit i = 0; i < this.elements.length; i++)
console.journal (ceci.éléments [i]);


// renvoie la taille de la pile
taille()
retourner ceci.éléments.longueur;

// efface la pile
clair()
ce.éléments = [];

Pousser et éclater des éléments de la pile

Le fonctionnement le plus élémentaire de la pile consiste à insérer et à extraire des éléments du haut de la pile. La classe de pile fournit deux méthodes pour ces opérations:


La première ligne du code susmentionné déclare une nouvelle pile nommée s. Puis le insérer() la méthode est utilisée pour insérer quatre éléments à la pile, dont deux sont ensuite supprimées par le extrait() méthode.

Comment obtenir l'élément supérieur de la pile

Le empiler La classe définit le peek () Méthode pour obtenir l'élément supérieur de la pile:


Comment vérifier si la pile est vide?

La classe définit également une méthode qui peut être utilisée pour vérifier si la pile est vide:


Comment imprimer toute la pile?

Le imprimer() La méthode peut être appelée pour imprimer toute la pile


Comment vérifier la taille de la pile?

Le taille() La méthode utilise le .longueur propriété pour obtenir la taille de la pile:


Comment effacer toute la pile?

Invoque simplement le clair() Méthode pour supprimer chaque élément de la pile:

Conclusion

Les piles sont des structures de données utiles avec de nombreuses applications réelles telles que l'historique du navigateur, le bouton d'annuler dans les éditeurs de texte et les journaux d'appels. Toutes ces applications suivent le principe LIFO E.g., Le bouton arrière du navigateur revient à la dernière page visitée et la première entrée du journal d'appels est toujours le dernier appel.

L'implémentation de Stack in Javascript est vraiment facile car elle a l'intégration pousser et populaire Méthodes pour les tableaux. Cet article démontre le processus d'implémentation de la pile dans JavaScript.