栈队列

Posted 让自己不再小小的

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了栈队列相关的知识,希望对你有一定的参考价值。

hdu 1022

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<cctype>
#include<algorithm>
#include <vector>
#include <stack>
#include <queue>

using namespace std;
#define INF 0x3f3f3f3f
#define N 550

int main()
{
    int n;
    char a[N], b[N];

    stack <char> s;
    queue <char> q;


    while(~scanf("%d", &n))
    {
        memset(a, 0, sizeof(a));
        memset(b, 0, sizeof(b));
        scanf("%s%s", a, b);
        while(!s.empty()) s.pop();
        while(!q.empty()) q.pop();

        int i, j;
        i=j=0;

        while(i<n)
        {
            s.push(a[i]);
            q.push(1);
            while(!s.empty()&&s.top()==b[j])
            {
                s.pop();
                q.push(0);
                j++;
            }
            i++;
        }

        if(s.empty())
        {
            printf("Yes.\n");
            while(!q.empty())
            {
                if(q.front()) printf("in\n");

                else printf("out\n");

                q.pop();
            }
        }
        else
            printf("No.\n");
        printf("FINISH\n");
    }

    return 0;
}

 

以上是关于栈队列的主要内容,如果未能解决你的问题,请参考以下文章

用两个队列实现一个栈and用两个栈实现一个队列

数据结构栈队列相关代码(数据结构笔试复测Leecode牛客)

数据结构栈与队列

数据结构栈与队列

栈和队列基本操作

代码随想录算法训练营第10天 | ● 理论基础 ● 232.用栈实现队列 ● 225. 用队列实现栈