"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > JS empile l'introduction de DS&A

JS empile l'introduction de DS&A

Publié le 2024-08-26
Parcourir:425

Si vous utilisez un appareil moderne, vous avez probablement rencontré des opérations de pile, même si vous ne vous en êtes pas rendu compte. Les piles sont fondamentales dans de nombreuses tâches de programmation, de la gestion des appels de fonction à l'activation des opérations d'annulation.

Que sont les piles ?

Les piles sont une structure de données linéaire qui suit l'ordre des opérations organisant les données dans une structure LIFO ou FILO.

LIFO : Dernier entré, premier sorti.

FILO : Premier entré, dernier sorti.

Les piles sont utilisées pour effectuer des opérations sur une collection d'éléments telles que l'ajout et la suppression d'éléments, l'affichage des éléments supérieurs et l'affichage si la collection est vide ou pleine.

Par exemple:

Lorsque vous êtes sur votre navigateur Web et que vous visitez actuellement www.ESPN.com et que vous cliquez accidentellement sur une annonce pour des billets de baseball des Chicago White Sox. Nous avons ajouté à notre stack, peut-être pas intentionnellement, mais maintenant il se trouve en haut de notre stack. On se rend alors compte que les White Sox de Chicago ont perdu 15 matchs de suite. Eh bien... appuyons sur ce bouton de retour (en supprimant cet élément du haut de la pile).

JS stacks DS&A intro

Oui, celui-là juste là-haut. Cela démontre le principe LIFO dans les opérations de stacks, nous quittons (supprimons) la dernière page visitée de notre historique (ou Stacks) pour revenir sur www.ESPN.com... peut-être celle des White Sox de l'année prochaine.

Les opérations de pile sont souvent utilisées dans les applications qui doivent conserver l'historique du navigateur Web, annuler et refaire sur les éditeurs de texte et les piles d'appels de fonction, pour n'en nommer que quelques-uns.

Les fonctions couramment utilisées lors de la modification des piles sont les suivantes :

.Push = pour ajouter un élément sur une pile.

.pop = pour supprimer l'élément supérieur d'une pile.

.peek = pour afficher l'élément supérieur d'une pile.

.length/.size = pour déterminer le total des index dans une pile. Javascript utilise (.length)

.isEmpty = vérifie si une pile est vide.

.isFull = vérifie si une pile est pleine ; si le tableau a une taille fixe.

La structure de données Stacks peut être créée avec une classe stacks ou avec un tableau normal.

Implémentation de piles sans classe :

Lorsque nous effectuons des opérations de pile sans classe de pile, nous simulons les opérations de pile avec un tableau.

Vous trouverez ci-dessous un exemple d'utilisation des opérations de piles pour inverser un tableau de nombres. J'utiliserai JSON.stringify pour comparer les valeurs du résultat du tableau au résultat du tableau souhaité.

Ex:

// Reverse an array using stack operations

let number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; // original array
let numberList = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]; // reversed array
let ordernumberList = []; // array to store the reversed order

// Loop through the numberList array to reverse its order
for (var i = 0; i 



Je souhaite souligner l'instruction if-else à la toute fin. J'ai utilisé la méthode JSON.stringify pour comparer les deux tableaux car, sans elle, la comparaison renverrait false, déclenchant la condition else, même si les tableaux ont un contenu identique. Cela se produit parce que, lors de la comparaison de tableaux en JavaScript, la comparaison vérifie leurs références (c'est-à-dire leurs emplacements mémoire) plutôt que le contenu réel à l'intérieur des tableaux.

Comme nous pouvons le voir tout au long de la boucle for, notre méthode .pop (supprimé) en premier le dernier index du tableau numberList (LIFO). Ensuite, utilisez la méthode .push pour l'ajouter dans le nouveau tableau ordernumberList, en inversant le tableau d'origine.

FILO arrive sur le nouveau tableau formulé car les premiers index poussés dans le tableau ordernumberList seront les derniers à sortir (FILO) s'ils sont jamais modifiés avec les opérations de piles.

Dans cet article, nous avons exploré le fonctionnement des piles en utilisant les principes LIFO et FILO, et implémenté les opérations de pile en JavaScript. Comprendre les piles est essentiel pour de nombreuses tâches de programmation, comme le montrent des scénarios réels comme la navigation sur le Web.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/cedsengine/js-stacks-dsa-intro-bl3?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3