#include<iostream>
#include<string>
#include<stdio.h>
#include<vector>
using namespace std;
int main()
{
int n,num;
int sum=0;
string s;
string tmp;
string in;
string out;
vector<string> member;
vector<string>::iterator it=member.begin();
scanf("%d",&n);
getchar();
while(n--)
{
getline(cin,s);
tmp=s.substr(0,7);
if(tmp=="enqueue")
{
sum++;
num=s.size();
in=s.substr(9,num-7);
member.push_back(in);
}
else if(tmp=="dequeue")
{
if(sum==0)
printf("-1\n");
else
{
cout<<*it;
if(it!=member.end())
{
it++;
sum--;
}
else
{
sum--;
}
}
}
}
return 0;
}
调试了一下,在cout<<*it地方出现错误。请大家帮忙改改,谢谢!
http://acm.cs.ecnu.edu.cn/problem.php?problemid=1801
这是题目的地址。
那应该怎么改~~~~~
追答在使用it之前最近的地方赋值