这也是一道模拟题。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a[300003];
int head=150000,tail=149999,now=0;
int main()
{
int n,x;char s,t;
cin>>n;
while(cin>>s>>t)
{
if(s=='A')
{
now++;
if(t=='L')
a[--head]=now;
else if(t=='R')
a[++tail]=now;
}
else if(s=='D')
{
scanf("%d",&x);
if(t=='L')
head+=x;
else if(t=='R')
tail-=x;
}
}
for(int i=head;i<=tail;i++)
printf("%d\n",a[i]);
}

本文介绍了一道关于数据操作的模拟题,通过双向队列进行元素的增删,并记录操作后的队列状态。使用C++实现,展示了如何根据指令进行元素的添加与删除,以及如何遍历并打印队列中的元素。
809

被折叠的 条评论
为什么被折叠?



