[Structure de données et algorithme] Deux piles pour réaliser une file d'attente

Rubrique Description
Utilisez deux piles pour implémenter une file d'attente et terminer les opérations Push et Pop sur la file d'attente. Les éléments de la file d'attente sont de type int.

#include <iostream>
#include <stack>
using namespace std;

class Solution{
public:
    void push(int num)
    {
        in.push(num);
    }
    int pop()
    {
        int ret;

         if(!out.empty())
        {
            ret=out.top();
            out.pop();
            return ret;
        }
      
       
        while(!in.empty())
        {
            out.push(in.top());
            in.pop();
        }

        ret=out.top();
        out.pop();

       return ret;

    }
private:
    stack<int>  in;
    stack<int>  out;

};

int main()
{
    Solution so;
    for (int i=0;i<5;i++)
    {
        so.push(i);
    }
    
    for(int i=0;i<5;i++)
    {
        int r=so.pop();
        cout<<"pop------->"<<r<<endl;
    }
    return 0;
}
A publié 19 articles originaux · Likes0 · Visites 383

Je suppose que tu aimes

Origine blog.csdn.net/qinchun/article/details/105353334
conseillé
Classement