交易B(队列)
临近考试,又把之前的上机的题目看了一遍,自己又尝试着敲代码,发现好多之前的代码现在看来都被自己复杂化了许多,于是把现在重写的代码再贴出来。
之前的题目和代码戳这里
#include<queue>
#include<iostream>
using namespace std;
int main()
{
queue<int> q;
int n;
int i;
cin>>n;
for(i=0; i<n; i++)
{
q.push(i+1);
}
int num[1001];
int m;
i=0;
while(!q.empty())
{
num[i]=q.front();
i++;
q.pop();
m=q.front();
q.pop();
q.push(m);
if(q.size()==1)
{
break;
}
}
for(i=0; i<n-2; i++)
{
cout<<num[i]<<" ";
}
cout<<num[n-2]<<endl;
cout<<q.front()<<endl;
return 0;
}
看上去比之前的好太多吧,栈和队列直接调用C++标准库里的函数比自己定义简单很多!!!