Notes de structure de données (iii) - les piles et les files d'attente

  1. La pile est définie uniquement insertions et des deletions dans l'extrémité de la table (pile) , la forme linéaire. Encore une fois devenir le dernier entré , premier sorti ( LIFO ) forme linéaire.
    · Structure de pile de stockage séquentiel: basée sur la baie (indice 0 est une longueur de la partie inférieure de la pile);
    stockage Structure · Stack: sur la base de la liste (une seule tête de la liste au - dessus de la pile; empilement de liaison n'a pas besoin généralement le nœud de tête ).

  2. STL adaptateur conteneur de pile
    Insérer ici l'image Description
    modèle · adaptateur de récipient d'empilement a deux paramètres. Le premier paramètre est stocké dans le type d'objet, le second paramètre est le type de sous - conteneurs. La pile conteneur inférieur conteneur par défaut deque , donc en fait pile de type template <typename T, typename Container = deque>.
    * Lors de la création de la pile, ne soit pas utilisée pour initialiser la liste d'initialisation de l' objet, mais peut être utilisé pour initialiser un autre récipient , tant que le même type de récipient et le type de sous - jacents de la pile des conteneurs.

std::list<double> values {1.414, 3.14159265, 2.71828};
std::stack<double,std::list<double>> my_stack (values);
  1. pile de STL de fonctionnement de base
    · Top () : renvoie une référence à l'élément supérieur de type T &.
    · Push (const & T obj) : une copie de l'objet peut être pressée dans la partie supérieure de l'empilement, le fond du récipient en appelant la fonction push_back () est terminée.
    · Push (obj && T) : un moyen de déplacement d' objets sur l' objet de la pile, il push_back fonction des paramètres de référence rvalue en communiquant avec le fond du récipient () est.
    · POP () : pop l'élément supérieur.
    · Taille () : Renvoie le nombre d'éléments de la pile.
    · Vide () : renvoie true aucun élément de la pile dans les circonstances.
    · Emplace () : utiliser les paramètres transmis dans le constructeur est appelé, l'objet est généré dans la pile.
    · Swap (Stack & other_stack) : les éléments de pile actuels et des éléments des paramètres échange. Pile , il doit contenir le même type d'éléments de paramètres et le courant. Pour le cas particulier d'un objet de la pile a fonction swap global () peut être utilisé.

  2. Demande
    · conversion de base : Compte tenu de tout entier n décimale, qui est convertie en une représentation binaire.
    Insérer ici l'image Description
    · Brassage Stack : trois piles A, B, S (B, S est vide au départ), la fenêtre contextuelle de l'élément de dessus est pressée dans S A, S ou pop l'élément de dessus est pressé dans B, jusqu'à ce que tous les éléments A transféré à B.
    (Pour <1,2,3, ..., n] empilement mélangées, si et seulement si pour tout i <j, la pile ne contient pas de motif aléatoire [..., j + 1,. ... , i, ..., j , ...> , le mode « 312 »)
    Insérer ici l'image Description
    * correspondant de support : en cas de parenthèse poussoir de gauche, cas parenthèse fermante de la pile.
    Insérer ici l'image Description
    · Expressions infixes : séquentiellement pousser opérandes, les opérateurs doivent comparer la priorité du sommet actuel des opérateurs de pile opérateur (faible pile: pousser courant, haute pile: les résultats de la pile; égale: et de recevoir le caractère suivant entre parenthèses)
    Insérer ici l'image Description
    * notation polonaise inverse (RPN, également connu sous le nom de notation postfix): pile des opérandes, dans le cas où le nombre d'opérateurs requis pour faire fonctionner d' abord savoir, après la pile de fonctionnement.
    Insérer ici l'image Description
    Inverse expression polonaise: L'expression infix, opérandes chaque opérateur impliqué entre parenthèses, l'opérateur se déplace à un support correspondant, puis de supprimer tous les supports.

  3. Queue: opération d'insertion uniquement à une extrémité et à l'autre extrémité de la table linéaire opération de suppression. Une file d' attente est une mémoire FIFO ( FIFO ), sous forme linéaire, afin de permettre à l'extrémité d'insertion est appelé la queue, a permis de supprimer dite extrémité de tête de file d'attente.
    · File d' attente a également un ordre de stockage et chaîne de magasins de deux façons.

  4. files d' attente circulaires: extrémité de structure de stockage séquentiel à la fin. Afin de résoudre le problème du stockage faux de débordement (chef de l' équipe complète de la queue vide).
    Supposons pointeur devant les éléments de la tête, le pointeur arrière vers la position suivante de l'élément de queue . Si la taille de la file d' attente maximale est QueueSize, alors état file d' attente est pleine (+ ARRIERE 1.) == avant QueueSize% ; universel longueur de file d'attente de calcul de formule (QueueSize avant le contre +) QueueSize de% .

  5. des files d'attente de la chaîne: pointeur de tête de file d'attente pour le noeud de tête, le pointeur de queue au noeud d'extrémité.

  6. file d'attente en utilisant STL
    Insérer ici l'image Description
    · avant () : retourne le premier élément dans la file d' attente de référence.
    · The Back () : Renvoie la file d' attente référencé dans le dernier élément.
    · Le poussoir (const T & obj) : Ajouter une copie des éléments dans la queue de la file d' attente.
    · Le poussoir (T && obj) : manière mobile pour ajouter des éléments à la fin de la file d' attente.
    · POP () : Supprime le premier élément dans la file d' attente.
    · Taille () : Renvoie le nombre d'éléments dans la file d' attente.
    · Vide () : S'il n'y a pas d' éléments dans la file d' attente, puis retourne vrai.
    · Emplace () : avec un emplace paramètres de transfert () appelle constructeur T, objet générateur à la fin de la file d' attente.
    · Echange (file d' attente et other_q) : Les éléments et les paramètres actuels de file d' attente en file d' attente les éléments de l'échange.

Publié 12 articles originaux · louanges gagnées 0 · Vues 123

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43279709/article/details/104789994
conseillé
Classement